Un message plein de signes bizarres
Tu reçois un message : « Rendez-vous à 15h, c'est très important ». Des signes étranges ont pris la place des accents.
Que s'est-il passé ? L'ordinateur ne range pas des lettres. Il range des numéros. Quand deux machines ne lisent pas la même liste de numéros, les accents se perdent.
Dans cette leçon, tu découvres cette liste.
Mots-clés
| Mot | Ce que ça veut dire | Exemple |
|---|---|---|
| Caractère | Un signe que l'on écrit : une lettre, un chiffre, un espace, un accent. | A, 7, é, € |
| Code | Le numéro qui représente un caractère. | Le code de A est 65 |
| ASCII | Une vieille table de 128 caractères, sans accent. Elle donne un numéro à chacun. | A = 65 |
| Unicode | Une grande table qui donne un numéro à chaque signe de toutes les langues. | é = 233 |
| UTF-8 | La façon la plus utilisée d'écrire ces numéros avec des octets. | Un é prend 2 octets |
| Octet | Un paquet de 8 bits. | 01000001 |
| Décalage | Le nombre de places dont on avance dans l'alphabet. | Avec 3, A devient D |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Une lettre, un numéro
Chaque caractère a un numéro, que l'on appelle son code. Le code de A est 65. Celui de B est 66.
Les lettres de l'alphabet se suivent dans la liste. Il suffit de compter pour trouver les autres.
Le code est un nombre. L'ordinateur le range en binaire, comme tous les nombres.
À toi : trouver les codes
# ord("A") donne le numéro d'une lettre. chr(65) fait l'inverse.
print(ord("A"))
print(ord("B"))
print(ord("a"))
print(chr(67))
# Écris ton prénom en majuscules et affiche le numéro de chaque lettre.
for lettre in "SALUT":
print(lettre, ord(lettre))
Exemple travaillé : quelques codes ASCII
| Caractère | Code | Remarque |
|---|---|---|
| Espace | 32 | L'espace est un caractère aussi |
| 0 | 48 | Le chiffre 0 n'a pas le code 0 |
| 9 | 57 | Les chiffres se suivent |
| A | 65 | Les majuscules commencent ici |
| Z | 90 | La dernière majuscule |
| a | 97 | Les minuscules commencent ici |
| z | 122 | La dernière minuscule |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
L'ASCII : cent vingt-huit signes
La première table s'appelle l'ASCII. Elle a 128 caractères : les lettres sans accent, les chiffres, la ponctuation et quelques signes de contrôle.
Une minuscule a un code plus grand de 32 que sa majuscule. Le code de a est 97, celui de A est 65. Cela fait bien 32 de plus.
Exemple travaillé : SALUT en codes
| Lettre | Code | Code en binaire |
|---|---|---|
| S | 83 | 01010011 |
| A | 65 | 01000001 |
| L | 76 | 01001100 |
| U | 85 | 01010101 |
| T | 84 | 01010100 |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Contrôle rapide
À toi de jouer
Contrôle rapide
3 questionsTes réponses sont corrigées ici et ne sont pas conservées. Un compte garde tes résultats.
Le problème des accents
L'ASCII a été créé pour l'anglais. Il n'a ni é, ni ç, ni ñ. Chaque pays a donc inventé sa propre table. Un texte écrit avec une table et lu avec une autre devenait illisible. C'est ce qui est arrivé à ton message.
Unicode a réglé le problème. C'est une seule table pour toutes les langues. Elle donne un numéro à chaque signe, jusqu'aux smileys.