Qué hace ECI
ECI le dice al lector qué juego de caracteres o qué interpretación de datos se aplica a los bytes que siguen. Sin ella, el lector tiene que suponer un valor por defecto o adivinarlo a partir de los propios bytes.
ECI no es exclusiva de los códigos QR. El esquema lo define AIM, la asociación de la industria de los códigos de barras, y también lo admiten Data Matrix, el código Aztec, PDF417, MaxiCode y otras simbologías.
Cómo se codifica en un código QR
Un segmento ECI empieza con el indicador de modo 0111, seguido de un número designador ECI de uno a tres bytes. La interpretación sigue en vigor hasta el final de los datos o hasta que otro ECI la cambie.
- ECI 3: ISO-8859-1 (Latin-1)
- ECI 20: Shift JIS
- ECI 26: UTF-8
- Los designadores van de 0 a 999999
Compatibilidad en la práctica
La compatibilidad con ECI es desigual. Los escáneres industriales y de documentos suelen respetarla, mientras que muchas apps de cámara de móvil la ignoran y detectan UTF-8 examinando los bytes, lo que funciona para la mayoría del contenido moderno.
Algunos lectores antiguos no esperan una cabecera ECI y pueden mostrar caracteres sueltos o no llegar a interpretar el contenido. Para URL corrientes y texto sin formato, la mayoría de los generadores omiten ECI y se apoyan en la detección de UTF-8.