base-x-bin
Command line utility for fast base encoding / decoding of any given alphabet using bitcoin style leading zero compression.
Examples
-a
to use a built-in alphabet (see Alphabets)-d
|--decode
to decode-i
|--inline
for an inline alphabet argument
Base58
echo "test" | basex -a 58// E8f4pE5echo -n "E8f4pE5" | basex -d -a 58// testcat /dev/urandom | head -c 32 | basex -a 58// 5F8C26whY3W4kXToXVziUE6WACBwjx3bNRuG1ekQ9M8d
Custom
echo "Z" | basex -d -i "012"// 10110echo -n "10100" | basex -d -i "012"// "Z"cat /dev/urandom | head -c 32 | basex -i "012"// 12121200000212100001002211221001110102210001110221022102001100020201012022102112001010101210020001011021020020021102211121221000010110222201211201001011200002022
Alphabets
Below is the list of included alphabets, and their respective base.
Base | Alphabet |
---|---|
2 | 01 |
8 | 01234567 |
11 | 0123456789a |
16 | 0123456789abcdef |
32 | 0123456789ABCDEFGHJKMNPQRSTVWXYZ |
36 | 0123456789abcdefghijklmnopqrstuvwxyz |
58 | 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz |
62 | 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ |
64 | ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/ |
66 | ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.!~ |
How it works
See https://github.com/cryptocoinjs/base-x