Normes et formats

Les modes d'encodage des QR codes : numérique, alphanumérique, octet, Kanji

Les QR codes choisissent un mode d'encodage pour compacter les données efficacement. Découvrez comment fonctionnent les modes numérique, alphanumérique, octet et Kanji.

Les modes d'encodage des QR codes sont les quatre « méthodes de compactage » qu'un QR code peut employer pour transformer votre contenu en bits — numérique, alphanumérique, octet et Kanji — et choisir le bon est la façon dont un code concentre le plus de données dans le plus petit carré.

Toutes les données ne se valent pas. Un numéro de téléphone n'est que des chiffres ; une adresse web mêle lettres, barres obliques et points ; un message peut contenir des lettres accentuées ou des caractères japonais. Les QR codes gèrent cela avec quatre modes d'encodage spécialisés, chacun optimisé pour un type de contenu particulier. Les comprendre explique pourquoi certains codes sont plus denses que d'autres — et pourquoi les URL se comportent comme elles le font. Creusons la question. 🐾

Pourquoi avoir différents modes ?

Tout l'intérêt des modes d'encodage est l'efficacité. Si un QR code sait qu'il n'a besoin de stocker que des chiffres, il peut utiliser bien moins de bits par caractère que s'il devait être prêt pour n'importe quel symbole possible. Moins de bits signifie un code plus petit et plus dense, qui se scanne plus vite et plus fiablement. La norme propose donc un menu de modes, et un encodeur choisit celui qui convient le mieux à vos données. Notre guide sur comment fonctionnent les QR codes montre où cela s'inscrit dans le tableau d'ensemble.

Mode 1 : numérique — que des chiffres

Le mode numérique gère les dix chiffres de 0 à 9 et rien d'autre. C'est de loin le mode le plus compact, stockant 3 chiffres en seulement 10 bits. Cela revient à environ 3,33 bits par chiffre — bien plus serré que les 8 bits qu'un simple caractère prendrait normalement.

Le mode numérique est idéal pour les numéros de téléphone, codes produit, numéros de série, identifiants de référence et tout ce qui est purement numérique. Parce qu'il est si efficace, un QR code plein de chiffres peut en contenir jusqu'à environ 7 089 à la plus grande taille.

Mode 2 : alphanumérique — un jeu de 45 caractères

Le mode alphanumérique couvre un ensemble précis de 45 caractères : les chiffres 0–9, les lettres majuscules A–Z, l'espace et une poignée de symboles ($ % * + - . / :). Il compacte 2 caractères en 11 bits, soit environ 5,5 bits chacun — toujours bien mieux que 8.

Remarquez ce qui n'y figure pas : les lettres minuscules, la plupart de la ponctuation, et tout caractère accentué ou non latin. C'est pourquoi certains codes courts et numéros de référence sont écrits tout en majuscules — cela leur permet d'utiliser ce mode efficace. C'est aussi pourquoi un lien écrit entièrement en majuscules peut parfois donner un code légèrement plus petit.

Mode 3 : octet — le cheval de trait du quotidien

Le mode octet (aussi appelé mode 8 bits) stocke des octets bruts, 8 bits par caractère. C'est le mode fourre-tout : tout ce qui n'entre pas dans les jeux numérique ou alphanumérique va ici. Par défaut, les octets sont généralement interprétés comme de l'ISO-8859-1 (Latin-1), et l'UTF-8 est couramment utilisé pour une prise en charge plus large des caractères, souvent signalé par ECI (voir plus bas).

Le mode octet est moins compact que les autres, mais il peut représenter presque tout — lettres minuscules, ponctuation complète, caractères accentués, et bien plus. Notre article sur l'encodage des caractères et les QR codes explique ce que ces valeurs d'octet signifient réellement en tant que texte.

Mode 4 : Kanji — du japonais compact

Le mode Kanji est un spécialiste. Il stocke les caractères japonais Shift-JIS en 13 bits chacun, ce qui est plus efficace que d'encoder les mêmes caractères en plusieurs octets UTF-8 en mode octet. Étant donné que les QR codes ont été inventés au Japon, il est logique que la norme ait intégré un mode dédié et économe en espace pour le système d'écriture local. Pour la plupart des utilisateurs occidentaux, il est rarement déclenché, mais c'est un gros gain pour le texte japonais.

ModeGèreEfficacité en bitsIdéal pour
Numérique0–910 bits / 3 chiffresNuméros de téléphone, identifiants
AlphanumériqueJeu de 45 caractères (majuscules, chiffres, quelques symboles)11 bits / 2 caractèresCodes courts, numéros de référence
OctetTout octet (Latin-1 / UTF-8)8 bits / caractèreURL, texte général
KanjiJaponais Shift-JIS13 bits / caractèreTexte japonais

Pourquoi les URL utilisent-elles le mode octet ?

Cela surprend les gens : les adresses web s'encodent presque toujours en mode octet, même si elles semblent pouvoir être alphanumériques. La raison est le jeu de caractères. Une URL typique contient des lettres minuscules (https://qr.puppy) et des symboles qui ne figurent pas dans le jeu alphanumérique de 45 caractères. Parce que le mode alphanumérique est strictement limité aux majuscules et à une courte liste de symboles, toute lettre minuscule ou caractère non autorisé force l'encodeur en mode octet.

Vous voulez un QR code légèrement plus dense pour un lien ? Certaines URL peuvent être raccourcies, et quelques systèmes acceptent des chemins en majuscules — mais pour la plupart des adresses réelles, le mode octet est tout simplement le choix honnête.

La leçon pratique : gardez les URL courtes. Moins de caractères en mode octet signifie un code plus petit qui se scanne plus facilement. Notre guide sur la capacité de données d'un QR code montre comment la longueur affecte la taille du code.

Le changement de mode au sein d'un même code

Voici un détail astucieux : un même QR code n'est pas obligé de s'en tenir à un seul mode. L'encodeur peut changer de mode en cours de route dans les données. Chaque segment commence par un petit « indicateur de mode » et un compteur de longueur, puis l'encodeur peut passer à un mode différent pour le segment suivant.

Imaginez une charge utile comme ORDER- suivie d'un long nombre suivi d'une note en minuscules. Un encodeur intelligent pourrait utiliser l'alphanumérique pour le préfixe, le numérique pour les chiffres et l'octet pour la note — en utilisant le mode le plus serré pour chaque partie. Le coût du changement (quelques bits supplémentaires par segment) en vaut généralement la peine quand les segments sont assez longs. Les bons générateurs de QR codes réalisent cette optimisation automatiquement.

ECI : indiquer au scanner quel jeu de caractères utiliser

Le mode octet stocke des nombres bruts, mais un scanner doit savoir ce que ces nombres signifient en tant que texte. La valeur d'octet 233 est-elle un « é » en Latin-1, ou une partie d'une séquence UTF-8 multi-octets ? C'est là qu'intervient ECI — Extended Channel Interpretation. ECI est un mécanisme qui permet à un QR code de déclarer quel jeu de caractères ou encodage ses octets utilisent, afin que le lecteur les interprète correctement.

Sans ECI explicite, les scanners se rabattent sur des hypothèses (souvent Latin-1, parfois en détectant automatiquement l'UTF-8), ce qui explique pourquoi les lettres accentuées et les emojis se brouillent parfois d'une application à l'autre. Notre article sur l'encodage des caractères et les QR codes explique pourquoi cela se produit et comment ECI aide.

Comment les encodeurs choisissent un mode

Vous ne choisissez normalement pas un mode à la main. Lorsque vous saisissez du contenu dans un générateur, il analyse votre texte et sélectionne automatiquement le mode valide le plus efficace — ou un mélange de modes. Il décide aussi de la plus petite version (taille) qui convient, et applique le niveau de correction d'erreurs que vous avez choisi. Le résultat est le carré compact et scannable que vous voyez. Pour comprendre le versant des tailles, voyez la capacité de données et l'anatomie d'un QR code.

Curieux de voir les modes à l'œuvre ? Vous pouvez créer un QR code gratuit avec QR Puppy — tapez des chiffres, un lien ou du texte, et regardez le code s'ajuster pour s'adapter.

Questions fréquentes

Quel mode d'encodage est le plus efficace ?

Le mode numérique est le plus serré, à 10 bits pour 3 chiffres, si bien que les codes composés de purs nombres contiennent le plus de caractères. L'alphanumérique vient ensuite, puis le mode octet. Le Kanji est efficace spécifiquement pour les caractères japonais Shift-JIS.

Pourquoi mettre mon lien en majuscules réduit-il parfois le code ?

Parce que les lettres majuscules et les chiffres peuvent entrer dans le mode alphanumérique (11 bits pour 2 caractères), tandis que les lettres minuscules forcent le mode octet (8 bits chacune mais un jeu de caractères plus large). Si l'hôte ou le chemin d'une URL tolère les majuscules, il peut se qualifier pour le mode plus efficace — même si la plupart des vraies URL finissent tout de même en mode octet.

Dois-je choisir le mode moi-même ?

Non. Tout générateur de QR codes correct analyse votre contenu et choisit le meilleur mode automatiquement, changeant même de mode au sein d'un même code pour gagner de la place. Vous n'avez qu'à saisir vos données.

Qu'est-ce qu'ECI, en termes simples ?

ECI (Extended Channel Interpretation) est une étiquette à l'intérieur du code qui indique au scanner quel jeu de caractères les octets utilisent — par exemple UTF-8. Elle aide les caractères accentués et le texte non latin à se décoder correctement au lieu de se transformer en symboles brouillés.

Un même QR code peut-il mélanger chiffres, lettres et symboles ?

Tout à fait. Un code peut contenir plusieurs segments, chacun dans son propre mode, de sorte qu'une charge utile avec un préfixe de code, un nombre et du texte libre peut utiliser ensemble les modes alphanumérique, numérique et octet pour une efficacité maximale.

Créez un QR code de façon honnête 🐾

Gratuit pour toujours, sans suivi, sans expiration — généré directement dans votre navigateur.

🎨 Créer un QR code →