Co robi ECI
ECI mówi czytnikowi, jaki zestaw znaków albo jaka interpretacja danych dotyczy bajtów, które po nim następują. Bez niego czytnik musi przyjąć wartość domyślną albo zgadywać na podstawie samych bajtów.
ECI nie jest specyficzne dla kodów QR. Schemat zdefiniowało AIM, branżowe stowarzyszenie kodów kreskowych, a obsługują go także Data Matrix, kod Aztec, PDF417, MaxiCode i inne symbologie.
Jak jest zapisane w kodzie QR
Segment ECI zaczyna się od wskaźnika trybu 0111, po którym następuje numer oznaczenia ECI o długości od jednego do trzech bajtów. Interpretacja obowiązuje do końca danych albo do momentu, gdy zmieni ją inne ECI.
- ECI 3: ISO-8859-1 (Latin-1)
- ECI 20: Shift JIS
- ECI 26: UTF-8
- Oznaczenia mają zakres od 0 do 999999
Obsługa w praktyce
Obsługa ECI jest nierówna. Skanery przemysłowe i dokumentowe często ją respektują, natomiast wiele aplikacji aparatu w telefonach ją ignoruje i rozpoznaje UTF-8 po analizie, co działa dla większości nowoczesnych treści.
Niektóre starsze czytniki nie spodziewają się nagłówka ECI i mogą pokazać zbłąkane znaki albo nie sparsować treści. Dla zwykłych adresów URL i zwykłego tekstu większość generatorów pomija ECI i polega na wykrywaniu UTF-8.