Interprétation de canal étendue (ECI)

Aussi appelé: ECI, désignateur ECI, déclaration de jeu de caractères, Extended Channel Interpretation

Définition

L’interprétation de canal étendue (ECI, Extended Channel Interpretation) est un code d’échappement à l’intérieur d’un code-barres qui déclare comment lire les octets suivants, par exemple ECI 26 pour l’UTF-8. De nombreux lecteurs l’ignorent et devinent à la place.

Ce que fait l’ECI

L’ECI indique au lecteur quel jeu de caractères ou quelle interprétation des données s’applique aux octets qui suivent. Sans lui, le lecteur doit supposer une valeur par défaut ou deviner à partir des octets eux-mêmes.

L’ECI n’est pas propre aux QR codes. Le système est défini par AIM, l’association de l’industrie des codes-barres, et il est aussi pris en charge par le Data Matrix, l’Aztec Code, le PDF417, le MaxiCode et d’autres symbologies.

Comment il est encodé dans un QR code

Un segment ECI commence par l’indicateur de mode 0111, suivi d’un numéro de désignateur ECI de un à trois octets. L’interprétation reste en vigueur jusqu’à la fin des données ou jusqu’à ce qu’un autre ECI la change.

  • ECI 3 : ISO-8859-1 (Latin-1)
  • ECI 20 : Shift JIS
  • ECI 26 : UTF-8
  • Les désignateurs vont de 0 à 999999

La prise en charge en pratique

La prise en charge de l’ECI est inégale. Les scanners industriels et de documents le respectent souvent, alors que de nombreuses applications appareil photo de téléphone l’ignorent et détectent l’UTF-8 par inspection, ce qui fonctionne pour la plupart des contenus modernes.

Certains lecteurs plus anciens n’attendent pas d’en-tête ECI et peuvent afficher des caractères parasites ou échouer à analyser le contenu. Pour les URL courantes et le texte brut, la plupart des générateurs omettent l’ECI et s’appuient sur la détection de l’UTF-8.

Questions fréquentes

Ai-je besoin de l’ECI pour du texte UTF-8 dans un QR code ?

En général non. La plupart des lecteurs de téléphone reconnaissent l’UTF-8 automatiquement, et l’ECI peut dérouter quelques lecteurs plus anciens. Il est surtout utile quand les données doivent être interprétées exactement, comme dans les systèmes industriels.

Pourquoi mon QR code affiche-t-il de drôles de caractères au scan ?

Le lecteur a peut-être deviné le mauvais jeu de caractères pour des données en mode octet. Déclarer l’UTF-8 avec ECI 26, ou tester avec un autre lecteur, peut aider à en identifier la cause.

Sources et normes

Tous les termes