Base58 versus Base85 Encoding

  • One of the neat properties of base58 (and, strictly speaking, of base62 as well) is that it does not contain any characters that require special encoding to be used in either a URL or a filename. Nor does it contain any characters that are considered to be "word-breaking" by most user interfaces, so you can do things like double-click on a base58 string to select the entire string. Base64 has none of the above properties, while being only very slightly more efficient.

  • I prefer base56, specifically https://github.com/foss-fund/base56 , for enhanced visual safety. It removes 1 and o. As noted on the linked page, the corresponding charset is 23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz.

    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.

  • It seems like the challenge is that Base85 includes lots of characters that look similar like an oh and a zero.