5

Supponiamo che tu abbia un sistema in cui un valore chiave abbastanza lungo può essere comunicato con precisione a un utente sullo schermo, via e-mail o tramite carta; ma l'utente deve essere in grado di comunicarti la chiave con precisione leggendola per telefono o leggendola e digitandola in un'altra interfaccia.Codifica che minimizza la lettura errata/l'errata digitazione/l'errata registrazione?

Che cos'è un "buon" modo di codificare la chiave per rendere la lettura/l'udito/la digitazione facile & accurata?

Questo potrebbe essere un numero di fattura, un ID documento, un ID transazione o qualche altro valore astratto. Diciamo per motivi di questa discussione il valore di chiave di fondo è un numero grande, diciamo 40 cifre in base 10.

Alcuni pensieri:

Shorter tasti sono generalmente migliori

  • 40 -digit base 10 potrebbe non adattarsi allo spazio indicato ed è facile perdersi nel mezzo di
  • lo stesso valore potrebbe essere rappresentato nella base 16 in 33-34 cifre
  • lo stesso valore potrebbe essere rappresentato in base 36 a 26 cifre
  • lo stesso valore potrebbe essere rappresentato in base 64 a 22-23 cifre

caratteri che non possono essere visivamente confuso con l'altro sono meglio

  • per esempio una codifica che include sia O (oh) che 0 (zero) o S (ess) e 5 (cinque), potrebbe essere errata
  • Questo problema dipende dal carattere/volto utilizzato per visualizzare la chiave, che potresti essere in grado di controllare in alcuni casi (come la stampa su carta) ma non può controllare in altri (come pagine web e e-mail).
  • Dipende anche dal fatto che sia possibile controllare l'uso esclusivo di maiuscole e minuscole - ad es. la maiuscola D (dee) può apparire come O (oh) ma la lettera maiuscola d (dee) non lo sarebbe; mentre la lettera minuscola l (ell) ha l'aspetto di 1 (uno) mentre la maiuscola L (ell) non lo sarebbe. (Con eccezioni per caratteri/volti particolarmente esotici).

caratteri che non possono essere verbalmente/foneticamente confuso con l'altro sono meglio

  • un (ay) 8 (otto)
  • B (ape) C (cee) D (dee) E (ee) g (gee) p (pipì) t (tee) v (vee) z (zee) 3 (tre)
  • Questo problema dipende dalla qualità audio del canale end-to-end - sfida maggiore se la base di utenti prevista potrebbe avere un impedimento di pronuncia, o potrebbe dover parlare attraverso una maschera antigas, o il canale di comunicazione potrebbe includere radio CB o sistemi telefonici VOIP instabili.

L'aggiunta di una cifra di controllo o due potrebbe rilevare errori ma non aiutare a risolvere gli errori.

Una finestra di dialogo di tipo alfa - bravo - charlie - delta può essere utile per gli errori di udito, ma non per la lettura degli errori.

possibili scelte di codifica:

  • Base 64 - compatti, ma troppi difficili da verbalizzare caratteri (sottolineatura, dash ecc)
  • Base 34 - 0-9 e AZ ma con O (oh) e I (aye) omessi come il più facile da confondere con le cifre
  • Base 32 - uguale alla base 34 ma lasciare fuori 0 (zero) e 1 (uno) pure

I C'è una codifica generalmente riconosciuta che è una soluzione ragionevole per questo scenario?

+1

Utilizzare ICAO (http://en.wikipedia.org/wiki/NATO_phonetic_alphabet)? – ninjalj

risposta

Problemi correlati