Comprendre l’Encodage des Caractères
"L’encodage, c’est la traduction entre le monde humain et le monde binaire." 💡
Pourquoi parle-t-on d’encodage ?
Lorsque vous tapez une lettre sur le clavier, l’ordinateur ne comprend pas la lettre elle-même, mais un nombre.
Ce nombre est ensuite converti en binaire, et c’est ce que la machine manipule.
Mais pour que tout le monde s’accorde sur quel nombre représente quel caractère, il faut une règle commune : c’est ce qu’on appelle un encodage.
L’encodage définit la correspondance entre les caractères et les nombres.
ASCII : la première norme
Vous connaissez déjà le code ASCII :
- Chaque caractère est représenté par un nombre sur 7 bits (128 symboles possibles).
- Parfait pour l’anglais, mais… pas pour les autres langues !
Exemples :
- 'A' → 65 → 01000001
- 'é' → ❌ pas défini dans le code ASCII !
Le problème des langues
Très vite, les programmeurs se sont rendu compte que l’ASCII était trop limité :
- Il ne contient ni accents,
- Ni lettres non latines (comme ç, ñ, Ω, Ж, 中, etc.),
- Ni émojis 😅
Chaque pays a donc inventé sa propre version de l’ASCII, comme : - ISO-8859-1 (pour les langues d’Europe de l’Ouest), - Windows-1252 (version utilisée par Microsoft), - ISO-8859-5 (pour le cyrillique), etc.
Résultat : un chaos !
Un même nombre pouvait représenter différents caractères selon le système 😱
→ Exemple : le code 130 pouvait signifier é sur un PC français, mais ‚ sur un autre ordinateur.
UTF-8 : le langage universel du texte
Pour résoudre ce bazar, on a créé une norme universelle : Unicode.
Elle associe un numéro unique (code point) à chaque caractère du monde entier.
Exemples :
| Caractère | Nom | Code Unicode |
|---|---|---|
| A | Latin capital letter A | U+0041 |
| é | Latin small letter e with acute | U+00E9 |
| Ω | Greek capital letter omega | U+03A9 |
| 中 | Chinese character "milieu" | U+4E2D |
| 😄 | Smiling face with open mouth | U+1F604 |
Mais ces code points doivent encore être encodés en binaire pour être stockés en mémoire.
C’est là qu’intervient UTF-8.
Comment fonctionne l’UTF-8 ?
UTF-8 (Unicode Transformation Format – 8 bits) est le format d’encodage le plus utilisé aujourd’hui.
Il est compatible avec ASCII et évolutif.
- Les caractères ASCII (de 0 à 127) sont codés sur 1 octet.
- Les autres caractères utilisent 2, 3 ou 4 octets, selon leur complexité.
| Caractère | Code Unicode | Octets UTF-8 (en binaire) | Taille |
|---|---|---|---|
| A | U+0041 | 01000001 |
1 octet |
| é | U+00E9 | 11000011 10101001 |
2 octets |
| € | U+20AC | 11100010 10000010 10101100 |
3 octets |
| 😄 | U+1F604 | 11110000 10011111 10011000 10000100 |
4 octets |
👉 Ainsi, UTF-8 peut représenter tous les caractères du monde sans conflit ni confusion.
Exemple visuel d'encodage
Prenons le mot "Café" :
| Caractère | Unicode | UTF-8 (hexadécimal) | Binaire |
|---|---|---|---|
| C | U+0043 | 43 | 01000011 |
| a | U+0061 | 61 | 01100001 |
| f | U+0066 | 66 | 01100110 |
| é | U+00E9 | C3 A9 | 11000011 10101001 |
➡️ En UTF-8, le mot “Café” prend 5 octets, car “é” occupe 2 octets.
Résumé
| Encodage | Taille | Langues prises en charge | Compatibilité |
|---|---|---|---|
| ASCII | 7 bits (128 caractères) | Anglais uniquement | Historique |
| ISO-8859-1 | 8 bits (256 caractères) | Langues européennes | Partiel |
| UTF-8 | 1 à 4 octets | Toutes les langues | ✅ Universel |
Aujourd’hui, UTF-8 est le standard mondial : c’est celui utilisé sur Internet, dans C#, Python, HTML, etc.
⚠️ Erreurs fréquentes
- ❌ Croire qu’UTF-8 et Unicode sont la même chose →
Unicode = dictionnaire des caractères, UTF-8 = manière de les écrire en binaire. - ❌ Penser que chaque caractère fait toujours 1 octet →
En UTF-8, certains en prennent 2, 3 ou 4. - ❌ Mélanger les encodages →
Un texte enregistré en ISO-8859-1 mais lu comme UTF-8 affichera des symboles étranges :éau lieu deé.
Quiz
Vérifiez vos connaissances sur l’encodage 🔍
1️⃣ Qu’est-ce qu’un encodage ?
✅ Afficher la réponse
2️⃣ Quelle est la différence entre Unicode et UTF-8 ?
✅ Afficher la réponse
3️⃣ Pourquoi UTF-8 est-il préféré aujourd’hui ?
✅ Afficher la réponse
Navigation
Programmation Algorithme Binaire Encodage Architecture Visual Studio Console
Pour aller plus loin
-
Wikipedia – Code ASCII
Page très complète retraçant l’histoire et les tableaux de correspondance ASCII. -
Table ASCII Interactive (ascii-code.com)
Table ASCII complète avec codes décimaux, hexadécimaux, et équivalents HTML. -
Différences entre ASCII et UTF-8 – OpenWeb
Article pour comprendre pourquoi on utilise d’autres formats aujourd’hui. -
Conversion ASCII ⇄ Binaire – RapidTables
Outil en ligne pour convertir un caractère ASCII en binaire et inversement.
- Codage, jeux de caractères et Unicode (YouTube)
Vidéo explicative pour comprendre encodage et jeux de caractères.
-
Wikipedia – Numération binaire
Article complet sur le système binaire et ses applications informatiques. -
Convertisseur en ligne décimal ⇄ binaire
Outil pratique pour expérimenter la conversion de nombres en binaire. -
Introduction aux jeux de caractères – OpenWeb
Une autre ressource simple et illustrée sur la logique des jeux de caractères.