3 ms·
Crockford Base32 folds those ambiguous characters on reading: l, L, I, and i are treated as 1; o and O are treated as 0. The user doesn’t need to know the rules
by grzm 8y ago
Crockford Base32 folds those ambiguous characters on reading: l, L, I, and i are treated as 1; o and O are treated as 0. The user doesn’t need to know the rules.
From the page you quote:
> ”When decoding, upper and lower case letters are accepted, and i and l will be treated as 1 and o will be treated as 0. When encoding, only upper case letters are used.”
- BugsJustFindMe 8y agoG/6, B/8, Z/2, and S/5 are much more likely to actually be visually ambiguous than L/1.
- ivan_gammel 8y ago1/l is visually ambiguous. Since the encoding is case-insensitive, upper-case L must also be excluded. For the same reason lower-case L is not included in Base58.
- BugsJustFindMe 8y agoAll codes are encoded only to uppercase in crockford32. If you actually want to get rid of the ambiguity, get rid of 1 and keep L.
- ivan_gammel 8y ago>All codes are encoded only to uppercase. False. ULID specification clearly says that these identifiers are case-insensitive. There's no "uppercase" requirement anywhere.
- jacobr1 8y agocrockford3 accepts any case, but the canonical output is uppercase
- deleted 8y ago[deleted]
- cheald 8y agoI have never typo'd a G for a 6, but I sure am glad my password manager shows digits in a different color from letters, because I confuse l/1/I and O/0 all the time.
- RcouF1uZ4gsC 8y agoI have confused these when they were handwritten, but not in typed form in a reasonable font.