An encoding that minimizes incorrect reading / typo / oversight?

Let's say you have a system in which a fairly long key value can be accurately transmitted to the user on the screen, by email or through paper; but the user should be able to quickly pass the key to you by reading it on the phone or reading it and returning it to another interface.

What is a “good” way to encode a key to read / hear / print it easily and accurately?

This can be an account number, a document identifier, a transaction identifier, or another abstract value. Say, for the sake of this discussion, the base value of the key is a large number, for example, 40 digits in the base 10.

Some thoughts:

Shorter keys are usually better.

  • A 40-digit base value of 10 may not fit into a given space and is easily lost in the middle
  • the same value can be represented in base 16 in 33-34 digits
  • the same value can be represented in base 36 in 26 digits
  • the same value can be represented in base 64 in 22-23 digits

Symbols that cannot be visually confused with each other are better

  • eg. encoding that includes both O (oh) and 0 (zero), or S (ess) and 5 (five) can be bad.
  • This problem depends on the font / face used to display the key, which you can control in some cases (for example, for printing on paper), but cannot control others (for example, web pages and email).
  • , / - , D (dee) O (oh), d (dee) ; l (ell) 1 (), L (ell) - . ( /).

, / ,

  • a (ay) 8 ()
  • B (bee) C (cee) D (dee) E (ee) g (gee) p (pee) t (tee) v (vee) z (zee) 3 ()
  • - , , , , CB VOIP.

, .

alpha-bravo-charlie-delta , .

:

  • 64 - , (, ..).
  • 34 - 0-9 A-Z, O (oh) (aye), ,
  • 32 - , 34, 0 () 1 (),

, ?

+5
1

, Proquints: , , . . . ( -, f v , .) .

0

All Articles