📝
Fiche de révision
📝 Fiche de révision — Représentation d'un texte en machine
🔤 ASCII (1963)
- caractères, codes à , 7 bits (un octet avec bit de poids fort à ).
- Contrôle - (tabulation , saut de ligne ), espace , chiffres -,
A-Z-,a-z-. - Minuscule majuscule ; chiffre
c. - Python :
ord('A'),chr(97)'a'. - Limite : anglais seulement (pas d'accents, pas de
€).
🇪🇺 ISO-8859-1 (Latin-1)
- 8 bits, codes ; - = ASCII ; - = accents d'Europe de l'Ouest :
é,à,ç,ë. - Un caractère = un octet.
- Limites : variantes régionales incompatibles, pas de
€(ISO-8859-15), pas de chinois, arabe…
🌍 Unicode et UTF-8
- Unicode : un point de code U+XXXX par caractère de toutes les écritures () ;
AU+0041,éU+00E9,€U+20AC,😀U+1F600 ; les premiers = Latin-1. - UTF-8 : à octets :
| points de code | octets | forme |
|---|---|---|
| U+0000-007F | 1 | 0xxxxxxx (ASCII) |
| U+0080-07FF | 2 | 110xxxxx 10xxxxxx |
| U+0800-FFFF | 3 | 1110xxxx 10xxxxxx 10xxxxxx |
| U+10000-10FFFF | 4 | 11110xxx 10xxxxxx ×3 |
é→ octets →110 0001110 101001.- Atouts : compatible ASCII, universel, compact pour le latin, du web, défaut de Python 3 et HTML5.
len("café")caractères,len("café".encode("utf-8"))octets.
💥 Erreurs et conversions
- Un fichier = des octets sans étiquette d'encodage.
- UTF-8 lu en Latin-1 :
é→ « é » (mojibake) ; Latin-1 lu en UTF-8 : « � » ou erreur. - Python :
"café".encode("utf-8")→b'caf\xc3\xa9';.decode("utf-8")inverse. - Convertir un fichier :
open(f, "r", encoding="latin-1")puisopen(g, "w", encoding="utf-8"). - HTML :
<meta charset="utf-8">.
⚠️ Pièges à éviter
| Piège | Correction |
|---|---|
| Confondre point de code et octets | U+00E9 est le numéro ; C3 A9 les octets UTF-8 |
| Taille = nombre de caractères | seulement en ASCII/Latin-1 ; UTF-8 : compter les octets |
| Croire qu'un fichier « sait » son encodage | il faut l'indiquer à la lecture |
| Compléter les x à gauche par des 1 | des 0 |
📌 À retenir
- ASCII 7 bits, 128 caractères,
ord/chr. - Latin-1 : un octet, accents d'Europe de l'Ouest.
- Unicode = points de code ; UTF-8 = 1 à 4 octets avec préfixes.
- Mauvais encodage = mojibake ;
encode/decode.
Révise ce chapitre avec KlarIA
Tuteur qui t'explique pas à pas, quiz pour t'entraîner, flashcards pour mémoriser. Gratuit.
Créer mon compte gratuitement→