Bitcoin’s Wallet Import Format (WIF) is essentially Base58 encoding with a checksum. It is meant to a human-friendly way to display cryptographic private keys. It’s not that friendly, but it could be worse.
The checksum (the first four bytes of SHA256 applied twice) is appended before the conversion to Base58, so the final result consists of only Base58 characters.
The Base58 alphabet is
123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz
and so some easily-confused characters have been removed. For example, the lower case letter o is included but the upper case O and the numeral 0 are not included. The lower case letter l has been removed so that it won’t be confused with the numeral 1.
But there are still a few letters that could be confused:
1ij 2Zz Cc Kk 5Ss Uu Vv Ww Xx Yy Zz
I was curious what font might make these letters the most distinct, and the best I found was IBM Plex Mono Italic.
The pairs Cc and Ss are still similar, but the rest of the upper and lower case pairs are distinct. (Note the serif on the lower case u, for example.)
Without the italic, lower case v, x, and z are simply smaller versions of their upper case counterparts.
Here’s the whole Base58 alphabet in IBM Plex Mono italic. Note the “holes” in the alphabet where some letters were removed.
Related posts
The post Most legible font for WIF first appeared on John D. Cook.