Aller au contenu
OneKitly

Qu'est-ce que l'UTF-8 et l'Unicode ? Points de code, encodage en octets et pourquoi l'UTF-8 s'est imposé

Publié le 11/03/2026 · 4 min de lecture · Outils pour développeurs

Daniel Okonkwo

Daniel OkonkwoDéveloppeur front-end et rédacteur Tech chez OneKitly

Performance web · Formats de fichiers

Vérifié à partir de 2 sources

Voir le profil
En bref

Unicode est un catalogue unique qui attribue à chaque caractère un nombre appelé point de code, écrit comme U+0041 pour A ou U+1F600 pour un smiley. L'UTF-8 est une règle pour stocker ces nombres en octets : les points de code jusqu'à U+007F tiennent sur un octet, les plus grands sur deux, trois ou quatre octets. L'UTF-8 s'est imposé car il est rétrocompatible avec l'ASCII, sans ambiguïté d'ordre des octets, et garde le texte anglais compact tout en représentant chaque écriture de la planète.

Unicode attribue à chaque caractère un point de code ; l'UTF-8 encode ces points de code en un à quatre octets. Voici son fonctionnement et pourquoi il a battu les alternatives.

Points de code contre octets

Il est utile de séparer deux idées. Un point de code est un nombre abstrait qui identifie un caractère dans le catalogue Unicode, indépendamment de son stockage. Un encodage est la recette concrète qui transforme ce nombre en octets sur le disque ou sur le réseau. Unicode définit actuellement des points de code de U+0000 à U+10FFFF, plus d'un million d'emplacements, dont environ 150 000 sont attribués.

La notation U+ n'est que de l'hexadécimal, base 16. U+0041 vaut 65 en décimal, la lettre A, et U+20AC vaut 8 364 en décimal, un symbole monétaire. Convertir entre la forme hexadécimale et le décimal ou le binaire est exactement le genre de changement de base que gère un convertisseur de bases, et c'est ainsi qu'on vérifie à la main quel motif d'octets un point de code doit produire.

De un à quatre octets, selon la taille

L'UTF-8 est un encodage à longueur variable. Les points de code de U+0000 à U+007F, la plage ASCII d'origine, sont stockés sur un seul octet dont le bit de poids fort est zéro, si bien que le texte anglais simple est identique octet pour octet aux anciens fichiers ASCII. Les points de code de U+0080 à U+07FF prennent deux octets, U+0800 à U+FFFF trois, et tout jusqu'à U+10FFFF, y compris la plupart des emoji, quatre.

L'octet de tête annonce la longueur par ses bits de poids fort : une séquence de deux octets commence par 110, de trois octets par 1110, de quatre octets par 11110, et chaque octet de continuation commence par 10. Ce motif autodescriptif permet à un décodeur de se resynchroniser après un octet corrompu et rend impossible de confondre un octet de continuation avec le début d'un caractère.

Pourquoi l'UTF-8 a battu les alternatives

Les principaux rivaux étaient l'UTF-16 et l'UTF-32. L'UTF-32 stocke chaque point de code sur quatre octets fixes, simple à indexer mais gaspilleur, quadruplant la taille d'un texte anglais ordinaire. L'UTF-16 utilise deux ou quatre octets et a jadis dominé Windows et Java, mais il lui faut une marque d'ordre des octets pour dire quel bout vient d'abord et il utilise encore des paires de substitution pour les grands points de code, réintroduisant la longueur variable qu'il voulait éviter.

L'UTF-8 évite tout cela. Il a un ordre d'octets canonique unique, ne nécessite aucune marque et reste compatible octet avec l'immense parc d'outils ASCII, si bien qu'un fichier UTF-8 rempli d'anglais simple s'ouvre correctement dans un logiciel antérieur à Unicode. Ces vertus pratiques, et non un décret de comité, en ont fait le défaut du web, où il couvre désormais l'écrasante majorité des pages.

Convertisseur de basesConvertis un nombre entre les 35 bases, sans arrondi, complément à deux inclus.Essayer l'outil

Questions fréquentes

L'UTF-8 est-il la même chose qu'Unicode ?
Non. Unicode est le catalogue qui attribue à chaque caractère un point de code. L'UTF-8 est une façon d'encoder ces points de code en octets. Unicode dit quel est le nombre ; l'UTF-8 dit comment le stocker.
Combien d'octets un emoji utilise-t-il en UTF-8 ?
La plupart des emoji simples se trouvent au-dessus de U+FFFF et prennent quatre octets. Certains emoji visibles sont en réalité plusieurs points de code reliés par des jointeurs de largeur nulle, si bien qu'ils peuvent occuper bien plus d'octets qu'un caractère ne le laisse croire.
Pourquoi mon texte affiche-t-il des caractères illisibles comme é ?
C'est une inadéquation : des octets écrits en UTF-8 sont lus comme un encodage sur un octet tel que Latin-1, si bien qu'une séquence de deux octets apparaît comme deux caractères erronés. Déclare et lis le fichier en UTF-8 des deux côtés pour corriger.
L'UTF-8 grossit-il les fichiers pour du texte non anglais ?
Parfois. Les langues à écriture latine restent proches d'un octet par caractère, mais des écritures comme le chinois ou le japonais utilisent trois octets par caractère en UTF-8 contre deux en UTF-16. Pour un contenu mixte ou majoritairement latin, l'UTF-8 est généralement le plus compact au total.

Articles qui pourraient t'intéresser

Tous les guides
ExplicationL'entropie des mots de passe expliquée : bits, longueur et temps nécessaire pour les casserCe que mesure vraiment l'entropie d'un mot de passe, pourquoi la longueur prime sur la complexité, et comment les bits d'entropie deviennent un temps de cassage réaliste.ExplicationLa notation grand O pour débutants : O(1), O(n), O(n au carré) et O(log n) expliquésLe grand O décrit la croissance du travail d'un algorithme quand l'entrée grandit. Voici ce que signifient O(1), O(n), O(n au carré) et O(log n) et pourquoi l'écart compte.ExplicationComment fonctionnent les masques de sous-réseau : CIDR, bits réseau et hôtes utilisablesComprends comment un masque de sous-réseau divise une adresse IP en parties réseau et hôte, ce que signifie /24 et comment compter les hôtes utilisables.TutorielComment lire le binaire et le convertir en décimal et hexadécimalDécouvre comment fonctionnent les valeurs de position binaires et convertis le binaire en décimal et hexadécimal à la main, avec des exemples clairs.TutorielCombien de temps faut-il pour téléverser un fichier ? La formule taille fois 8 divisée par le débitEstime le temps de téléversement avec une seule formule : la taille du fichier en bits divisée par ton débit montant. Découvre pourquoi l'envoi est souvent plus lent que le téléchargement et comment le surcoût affecte le résultat.TutorielCombien de photos tiennent sur une carte mémoire ? Photos, musiques et vidéosEstime combien de photos, de musiques ou d'heures de vidéo tiennent sur une carte en divisant sa capacité par la taille moyenne des fichiers.

Outils similaires

Sources

Tu as repéré une erreur dans cet article ?