Skip to content

Take advantage of z-base32 disambiguation when encountering a 2 or a 0 #4

@dkg

Description

@dkg

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions