a85encode
uses the character mapping:
!"#$%&'()*+,-./0123456789:;<=>?@
ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`
abcdefghijklmnopqrstu
with z
used as a special case to represent four zero bytes (instead of !!!!!
).
b85encode
uses the character mapping:
0123456789
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
!#$%&()*+-;<=>?@^_`{|}~
with no special abbreviations.
If you have a choice, I'd recommend you use a85encode
. It's a bit easier (and more efficient) to implement in C
, as its character mapping uses all characters in ASCII order, and it's slightly more efficient at storing data containing lots of zeroes, which isn't uncommon for uncompressed binary data.