Extended Channel Interpretation (ECI)

Kallas också: ECI, ECI-beteckning, deklaration av teckenuppsättning, character set declaration

Definition

Extended Channel Interpretation (ECI) är en escape-kod inuti en streckkod som anger hur de följande byten ska läsas, till exempel ECI 26 för UTF-8. Många läsare ignorerar den och gissar i stället.

Vad ECI gör

ECI talar om för läsaren vilken teckenuppsättning eller datatolkning som gäller för de byte som följer. Utan den måste läsaren anta ett standardvärde eller gissa utifrån själva byten.

ECI är inte unikt för QR-koder. Schemat definieras av AIM, streckkodsbranschens intresseorganisation, och stöds också av Data Matrix, Aztec Code, PDF417, MaxiCode och andra symbologier.

Hur det kodas i en QR-kod

Ett ECI-segment börjar med lägesindikatorn 0111, följd av ett ECI-nummer på en till tre byte. Tolkningen gäller till slutet av data eller tills en annan ECI ändrar den.

  • ECI 3: ISO-8859-1 (Latin-1)
  • ECI 20: Shift JIS
  • ECI 26: UTF-8
  • Beteckningarna spänner från 0 till 999999

Stöd i praktiken

Stödet för ECI är ojämnt. Industri- och dokumentskannrar respekterar det ofta, medan många kameraappar i telefoner ignorerar det och upptäcker UTF-8 genom undersökning, vilket fungerar för det mesta moderna innehållet.

Vissa äldre läsare förväntar sig inte en ECI-rubrik och kan visa förvirrande tecken eller misslyckas med att tolka innehållet. För vardagliga webbadresser och vanlig text utelämnar de flesta generatorer ECI och förlitar sig på UTF-8-detektering.

Vanliga frågor

Behöver jag ECI för UTF-8-text i en QR-kod?

Oftast inte. De flesta telefonläsare känner igen UTF-8 automatiskt, och ECI kan förvirra några äldre läsare. Det är mest användbart när data måste tolkas exakt, till exempel i industriella system.

Varför visar min QR-kod konstiga tecken när den skannas?

Läsaren kan ha gissat fel teckenuppsättning för data i byteläge. Att ange UTF-8 med ECI 26, eller testa med en annan läsare, kan hjälpa till att hitta orsaken.

Källor och standarder

Alla begrepp