Extended Channel Interpretation (ECI)

Detto anche: ECI, designatore ECI, dichiarazione del set di caratteri

Definizione

L'Extended Channel Interpretation (ECI) è un codice di escape dentro un codice a barre che dichiara come vanno letti i byte successivi, per esempio ECI 26 per UTF-8. Molti lettori lo ignorano e tirano a indovinare.

Che cosa fa l'ECI

L'ECI dice al lettore quale set di caratteri o interpretazione dei dati vale per i byte che seguono. Senza, il lettore deve presumere un'impostazione predefinita o indovinare dai byte stessi.

L'ECI non è esclusivo dei codici QR. Lo schema è definito da AIM, l'associazione di settore dei codici a barre, ed è supportato anche da Data Matrix, Aztec Code, PDF417, MaxiCode e altre simbologie.

Come è codificato in un codice QR

Un segmento ECI inizia con l'indicatore di modalità 0111, seguito da un numero di designatore ECI di uno-tre byte. L'interpretazione resta valida fino alla fine dei dati o finché un altro ECI non la cambia.

  • ECI 3: ISO-8859-1 (Latin-1)
  • ECI 20: Shift JIS
  • ECI 26: UTF-8
  • I designatori vanno da 0 a 999999

Il supporto nella pratica

Il supporto all'ECI è disomogeneo. Gli scanner industriali e per documenti spesso lo rispettano, mentre molte app fotocamera dei telefoni lo ignorano e riconoscono l'UTF-8 esaminando i byte, cosa che funziona per la maggior parte dei contenuti moderni.

Alcuni lettori più vecchi non si aspettano un'intestazione ECI e possono mostrare caratteri sporadici o non riuscire a interpretare il contenuto. Per gli URL di tutti i giorni e il testo semplice, la maggior parte dei generatori omette l'ECI e si affida al riconoscimento dell'UTF-8.

Domande frequenti

Mi serve l'ECI per il testo UTF-8 in un codice QR?

Di solito no. La maggior parte dei lettori dei telefoni riconosce l'UTF-8 automaticamente, e l'ECI può confondere alcuni lettori più vecchi. È più utile quando i dati devono essere interpretati esattamente, come nei sistemi industriali.

Perché il mio codice QR mostra caratteri strani quando lo scansiono?

Il lettore potrebbe aver indovinato il set di caratteri sbagliato per i dati in modalità byte. Dichiarare l'UTF-8 con ECI 26, o provare con un altro lettore, può aiutare a capire la causa.

Fonti e standard

Tutti i termini