Base58 versus Base85 Encoding
johndcook.com
johndcook.com
UUencoding worked even when passed through non-ASCII mechanisms/protocols that didn't do lowercase, or that were case-insensitive; but at the expense of using what in some contexts would be reserved metacharacters. Whereas XXencoding did not have a problem with metacharacters, only using plus and minus in addition to the alphanumerics, but at the expense of being case-sensitive.
viz encoding can avoid whatever metacharacters one chooses, with no changes to the decoder, the choice being entirely at the encoding end, and is similarly used in scenarios where one does not want to break at whitespace or general word-breaking punctuation; but has a lot of overhead for each such encoded character and requires at minimum an alphabet of three punctuation characters (caret, minus, and backslash), the octal digits, and the letter 'M'.
Note that there is no good standardization of base58 and therefore of base56. As such, there may exist variations depending on where you look, but the linked one is what I prefer.