KlarIA
💻 NSI (spécialité)1ereFiche de révision

Représentation d'un texte en machine

📝

Fiche de révision

📝 Fiche de révision — Représentation d'un texte en machine


🔤 ASCII (1963)

  • 128128 caractères, codes 00 à 127127, 7 bits (un octet avec bit de poids fort à 00).
  • Contrôle 00-3131 (tabulation 99, saut de ligne 1010), espace 3232, chiffres 4848-5757, A-Z 6565-9090, a-z 9797-122122.
  • Minuscule == majuscule +32+ 32 ; chiffre c =48+c= 48 + c.
  • Python : ord('A') =65= 65, chr(97) == 'a'.
  • Limite : anglais seulement (pas d'accents, pas de ).

🇪🇺 ISO-8859-1 (Latin-1)

  • 8 bits, 256256 codes ; 00-127127 = ASCII ; 128128-255255 = accents d'Europe de l'Ouest : é =233=E916= 233 = \overline{\text{E9}}^{\,16}, à =224= 224, ç =231= 231, ë =235= 235.
  • Un caractère = un octet.
  • Limites : 1515 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 (>150000> 150\,000) ; A U+0041, é U+00E9, U+20AC, 😀 U+1F600 ; les 256256 premiers = Latin-1.
  • UTF-8 : 11 à 44 octets :
points de codeoctetsforme
U+0000-007F10xxxxxxx (ASCII)
U+0080-07FF2110xxxxx 10xxxxxx
U+0800-FFFF31110xxxx 10xxxxxx 10xxxxxx
U+10000-10FFFF411110xxx 10xxxxxx ×3
  • é =233=111010012= 233 = \overline{1110\,1001}^{\,2}22 octets → 110 00011 10 101001 =C3 A9= \overline{\text{C3 A9}}.
  • Atouts : compatible ASCII, universel, compact pour le latin, 98%98\,\% du web, défaut de Python 3 et HTML5.
  • len("café") =4= 4 caractères, len("café".encode("utf-8")) =5= 5 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") puis open(g, "w", encoding="utf-8").
  • HTML : <meta charset="utf-8">.

⚠️ Pièges à éviter

PiègeCorrection
Confondre point de code et octetsU+00E9 est le numéro ; C3 A9 les octets UTF-8
Taille = nombre de caractèresseulement en ASCII/Latin-1 ; UTF-8 : compter les octets
Croire qu'un fichier « sait » son encodageil faut l'indiquer à la lecture
Compléter les x à gauche par des 1des 0

📌 À retenir

  1. ASCII 7 bits, 128 caractères, ord/chr.
  2. Latin-1 : un octet, accents d'Europe de l'Ouest.
  3. Unicode = points de code ; UTF-8 = 1 à 4 octets avec préfixes.
  4. 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