For every supported format has basexx a from and to function.
The from functions have two parameters:
-
str which represent the encoded string that should be decoded
-
ignore is an optional set of characters that should be ignored in the string, see the from_bit and from_hex examples
The from functions return a string if the string can be decoded, otherwise nil and an error message.
The to functions have just one parameter:
-
str the data string that should be encoded
The to_z85 function can return nil and an error message, all other functions return allways the encoded string.
Converts a byte string to a bitfield string.
-
0, O and o maps to the same value
-
1, I, i, L and l maps to the same value
basexx.to_bit( "ACDC" ) --> 01000001010000110100010001000011
basexx.from_bit( "01000001010000110100010001000011" ) --> ACDC
basexx.from_bit( "o1ooooo1o1oooo11" ) --> AC
basexx.from_bit( "Oioooooi Oiooooii\n", " \n" ) --> AC
Converts a byte string to a uppercase hex data string.
basexx.to_hex( "Hello world!" ) --> 48656C6C6F20776F726C6421
basexx.from_hex( "4865-6C6C 6F20-776F 726C-6421", "- " ) --> Hello world!
basexx.from_hex( "48656c6c6f20776f726c6421" ) --> Hello world!
Converts a byte string to a base32(_rfc3548) uppercase data string.
-
It’s case insensitive
basexx.to_base32( "chunky bacon!" ) --> MNUHK3TLPEQGEYLDN5XCC===
basexx.from_base32( "MNUHK3TLPEQGEYLDN5XCC===" ) --> chunky bacon!
Converts a byte string to a base32(crockford) uppercase data string. The optional check value is not implemented.
-
It’s case insensitive
-
1, I, i, L and l maps to the same value
-
0, O and o maps to the same value
string.lower( basexx.to_crockford( "Hello World" ) ) --> 91jprv3f41bpywkccg
basexx.from_crockford( "axqqeb10d5t20wk5c5p6ry90exqq4tvk44" ) --> Wow, it really works!
Converts a byte string to a base64 data string.
basexx.to_base64( "Man") --> TWFu
basexx.from_base64( "TWFu" ) --> Man
Same as above, but uses a URL Safe base64 alphabet and no padding.
Converts a byte string to a base85(ZeroMQ) data string. to_z85 expects only a binary string that length is divisible by 4 with no remainder, and from_z85 expects only printable a string that length is divisible by 5 with no remainder.
basexx.to_z85( "1234" ) --> f!$Kw
basexx.from_z85( "f!$Kw" ) --> 1234