Extended Channel Interpretation (ECI)

Kaldes også: ECI, ECI-angivelse, tegnsætserklæring, ECI designator

Definition

Extended Channel Interpretation (ECI) er en escape-kode i en stregkode, der angiver, hvordan de følgende bytes skal læses, for eksempel ECI 26 for UTF-8. Mange læsere ignorerer den og gætter i stedet.

Hvad ECI gør

ECI fortæller læseren, hvilket tegnsæt eller hvilken datatolkning der gælder for de bytes, der følger. Uden den må læseren antage en standard eller gætte ud fra selve bytene.

ECI er ikke noget særligt for QR-koder. Ordningen er defineret af AIM, stregkodebranchens brancheorganisation, og understøttes også af Data Matrix, Aztec-kode, PDF417, MaxiCode og andre symbologier.

Sådan kodes det i en QR-kode

Et ECI-segment starter med tilstandsindikatoren 0111 efterfulgt af et ECI-nummer på en til tre bytes. Tolkningen gælder, til dataene slutter, eller til en anden ECI ændrer den.

  • ECI 3: ISO-8859-1 (Latin-1)
  • ECI 20: Shift JIS
  • ECI 26: UTF-8
  • Numrene går fra 0 til 999999

Understøttelse i praksis

Understøttelsen af ECI er ujævn. Industrielle scannere og dokumentscannere respekterer den ofte, mens mange kameraapps på telefoner ignorerer den og genkender UTF-8 ved undersøgelse, hvilket virker for det meste moderne indhold.

Nogle ældre læsere forventer ikke en ECI-header og kan vise fejlagtige tegn eller undlade at tolke indholdet. Til hverdagens URL'er og almindelig tekst udelader de fleste generatorer ECI og stoler på genkendelse af UTF-8.

Ofte stillede spørgsmål

Skal jeg bruge ECI til UTF-8-tekst i en QR-kode?

Som regel ikke. De fleste telefonlæsere genkender UTF-8 automatisk, og ECI kan forvirre nogle få ældre læsere. Den er mest nyttig, når data skal tolkes helt præcist, for eksempel i industrielle systemer.

Hvorfor viser min QR-kode mærkelige tegn, når den scannes?

Læseren har måske gættet forkert på tegnsættet for data i bytetilstand. Hvis du angiver UTF-8 med ECI 26 eller tester med en anden læser, kan du finde årsagen.

Kilder og standarder

Alle begreber