In the z-base-32 specification, Phil Zimmermann wrote:
Our choice of confusing characters to eliminate is: `0', `l', `v', and `2'. Our
reasoning is that `0' is potentially mistaken for `o', that `l' is potentially
mistaken for `1' or `i', that `v' is potentially mistaken for `u' or `r'
(especially in handwriting) and that `2' is potentially mistaken for `z'
(especially in handwriting).
If an l or a v arrives when decoding, we don't know what to do with it. But if a 2 arrives in the encoded form, we can presume it should have been a z, and if a 0 arrives, we can presume it should have been an o.
The decoding functions could be more lenient for 2 and 0, mapping them to z and o directly.
In the z-base-32 specification, Phil Zimmermann wrote:
If an
lor avarrives when decoding, we don't know what to do with it. But if a2arrives in the encoded form, we can presume it should have been az, and if a0arrives, we can presume it should have been ano.The decoding functions could be more lenient for
2and0, mapping them tozandodirectly.