Aller au contenu
Case Converter Online
fr

Encodage et décodage UTF-8

Voyez exactement quels octets l'UTF-8 utilise pour un texte, décodez des octets en caractères et réparez un texte abîmé comme café ou été. Chaque caractère est listé avec son point de code.

Fonctionne dans les deux sens. Choisissez le format d'octets qui correspond à ce que vous collez à droite.

Caractère par caractère

CaractèrePoint de codeOctets UTF-8Octets

Ce qu’est l’UTF-8

Tout texte sur un ordinateur est stocké sous forme de nombres. Unicode est la liste de référence qui donne à chaque caractère un numéro, appelé point de code. La lettre A est U+0041, é est U+00E9 et le signe euro € est U+20AC. L’UTF-8 est la règle qui transforme ces points de code en octets.

L’UTF-8 est l’encodage standard du web, du JSON, de la plupart des langages de programmation et des systèmes d’exploitation modernes. Son grand avantage est que le texte ASCII simple ne change pas : A reste l’octet unique 41. Les autres caractères utilisent deux, trois ou quatre octets, et chacun de ces octets vaut 128 ou plus, si bien qu’ils ne peuvent jamais être confondus avec de l’ASCII.

Comment utiliser l’outil UTF-8

Encoder. Tapez dans la zone Texte. Les octets UTF-8 apparaissent dans la zone Octets UTF-8. Appuyez sur Copier pour les récupérer.

Décoder. Collez des octets dans la zone Octets UTF-8. Les caractères apparaissent à gauche. Vérifiez que le Format des octets correspond à ce que vous collez.

Format des octets propose six façons d’écrire les octets :

  • Octets hexa : C3 A9 pour lire et déboguer
  • Échappements : \xC3\xA9 pour les chaînes littérales dans le code
  • Pourcent : %C3%A9 comme dans les adresses web
  • Décimal : 195 169 pour les tableaux d’octets
  • Binaire : 11000011 10101001 pour comprendre la disposition des bits
  • Texte abîmé : é (réparer le mojibake) pour réparer un texte lu avec le mauvais encodage

Caractère par caractère. Le tableau sous l’outil liste chaque caractère avec son point de code, ses octets UTF-8 et son nombre d’octets. Le résumé affiche le nombre total de caractères et d’octets. Les espaces, tabulations et sauts de ligne sont nommés pour que vous puissiez les voir.

Comment fonctionne l’UTF-8

Le nombre d’octets dépend de la taille du point de code :

Points de code Octets Motif de bits
U+0000 à U+007F 1 0xxxxxxx
U+0080 à U+07FF 2 110xxxxx 10xxxxxx
U+0800 à U+FFFF 3 1110xxxx 10xxxxxx 10xxxxxx
U+10000 à U+10FFFF 4 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

Le premier octet indique combien d’octets suivent. Chaque octet suivant commence par 10. L’UTF-8 est ainsi autosynchronisant : un programme peut toujours retrouver le début du caractère suivant, même au milieu d’un flux.

Exemples

Caractère Point de code UTF-8 hexa Décimal
A U+0041 41 65
é U+00E9 C3 A9 195 169
ñ U+00F1 C3 B1 195 177
ß U+00DF C3 9F 195 159
ç U+00E7 C3 A7 195 167
€ U+20AC E2 82 AC 226 130 172
日 U+65E5 E6 97 A5 230 151 165
emoji pouce levé U+1F44D F0 9F 91 8D 240 159 145 141

Réparer le mojibake

Le mojibake est le charabia qui apparaît quand des octets UTF-8 sont lus en Windows-1252 ou en Latin-1. Chaque octet devient un caractère à part, donc les lettres sur deux octets deviennent deux symboles bizarres. Les textes français y sont particulièrement exposés, à cause de leurs nombreux accents :

Texte correct Vu comme
café café
naïve naïve
It’s It’s
€ €
été été
ça ça
Noël Noël
œuf Å“uf

Le à donne un cas piégeux : son second octet, A0, correspond à une espace insécable en Windows-1252, donc « déjà » devient « déjà » suivi d’une espace presque invisible.

Le format Texte abîmé annule cette erreur. Il retransforme chaque caractère abîmé en son octet et décode les octets en UTF-8. Si le texte contient des caractères qui ne peuvent pas venir de cette erreur, l’outil vous le signale au lieu de deviner.

Conseils et limites

  • Enregistrez vos fichiers en UTF-8. La plupart des mojibakes commencent par un fichier enregistré dans un encodage et ouvert dans un autre. Dans les éditeurs, choisissez UTF-8 à l’enregistrement.
  • Déclarez l’encodage. En HTML, placez <meta charset="utf-8"> en haut de la page.
  • Excel et fichiers CSV. Les anciennes versions d’Excel devinent l’encodage d’un CSV, et un Excel en français choisit souvent Windows-1252. Enregistrer en « CSV UTF-8 » évite les accents cassés.
  • La réparation fonctionne une fois. Un texte abîmé deux fois (« café ») demande deux réparations successives.
  • Le tableau affiche jusqu’à 500 caractères pour garder la page rapide. Le nombre d’octets couvre toujours tout le texte.

Autres méthodes

Python. 'café'.encode('utf-8') renvoie b'caf\xc3\xa9'. Pour réparer un mojibake, 'café'.encode('cp1252').decode('utf-8') renvoie café.

JavaScript. new TextEncoder().encode('é') renvoie les octets 195 et 169. new TextDecoder().decode(bytes) les retransforme.

Ligne de commande. echo -n é | xxd montre les octets c3a9 dans un terminal UTF-8. iconv -f WINDOWS-1252 -t UTF-8 convertit des fichiers entiers.

Outils associés

Pour décoder des octets hexa simples, utilisez le convertisseur hexadécimal en texte. Les octets encodés en pourcent dans les liens sont traités par l’outil pour décoder une URL. Pour voir tous les bits, essayez le traducteur de code binaire.

Encodage UTF-8 : questions fréquentes

Combien d'octets occupe un caractère en UTF-8 ?

Entre un et quatre. Les lettres sans accent, les chiffres et la ponctuation de base occupent un octet. La plupart des lettres latines accentuées (é, à, ç...), le grec, le cyrillique, l'hébreu et l'arabe en occupent deux. La plupart des caractères chinois, japonais et coréens et des symboles comme le signe euro en occupent trois. Les emoji en occupent en général quatre.

Comment réparer un texte comme café ou It’s ?

Réglez Format des octets sur Texte abîmé : é (réparer le mojibake) et collez le texte cassé dans la zone de droite. Le texte réparé apparaît à gauche : café devient café, été devient été et It’s devient It’s.

Quelle différence entre Unicode et UTF-8 ?

Unicode donne un numéro à chaque caractère, appelé point de code, comme U+20AC pour le signe euro. L'UTF-8 est une façon de stocker ces numéros en octets. Le signe euro est stocké E2 82 AC en UTF-8.

Pourquoi mon texte a-t-il plus d'octets que de caractères ?

Parce que les caractères hors de l'ASCII de base occupent chacun plusieurs octets. Café €5 suivi d'un emoji pouce levé compte 9 caractères mais 15 octets. Le résumé au-dessus du tableau des caractères affiche les deux nombres.

Plus d'outils code et données

Voir tous les outils