Interpretación de canal ampliada (ECI)

También se llama: ECI, designador ECI, declaración del juego de caracteres, Extended Channel Interpretation

Definición

La interpretación de canal ampliada (ECI, Extended Channel Interpretation) es un código de escape dentro de un código de barras que declara cómo deben leerse los bytes siguientes, como ECI 26 para UTF-8. Muchos lectores la ignoran y adivinan.

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.

Preguntas frecuentes

¿Necesito ECI para texto en UTF-8 en un código QR?

Normalmente no. La mayoría de los lectores de móvil reconocen UTF-8 automáticamente, y ECI puede confundir a algunos lectores antiguos. Resulta más útil cuando los datos deben interpretarse exactamente, como en los sistemas industriales.

¿Por qué mi código QR muestra caracteres extraños al escanearlo?

Puede que el lector haya adivinado mal el juego de caracteres de unos datos en modo de bytes. Declarar UTF-8 con ECI 26, o probar con otro lector, puede ayudar a identificar la causa.

Fuentes y estándares

Todos los términos