~/fr/articles/ascii-unicode-et-codes-de-caracteres.html 200 OK
FR

ASCII, Unicode et codes de caractères

Par MICKAEL GOMES CONSULTING · Dernière mise à jour: 2026-06-19

Un code de caractère est le nombre qu’un ordinateur utilise pour représenter une lettre, un chiffre ou un symbole. ASCII attribue les codes 0 à 127 aux lettres anglaises de base, aux chiffres, à la ponctuation et à un ensemble de caractères de contrôle, tandis qu’Unicode étend la même idée pour couvrir presque tous les systèmes d’écriture de la planète. Comprendre les codes de caractères explique comment le texte devient des nombres, pourquoi la lettre majuscule A vaut 65, et comment les emoji et les lettres accentuées s’insèrent dans le même schéma.

La table ASCII

ASCII, l’American Standard Code for Information Interchange, fixe un code pour chacun de 128 caractères. Les codes 0 à 31 sont des caractères de contrôle non imprimables comme la tabulation, le saut de ligne et le retour chariot. Le code 32 est l’espace. Les chiffres 0 à 9 occupent les codes 48 à 57, les lettres majuscules A à Z vont de 65 à 90, et les lettres minuscules a à z vont de 97 à 122.

Une conséquence élégante de cette disposition est que les versions majuscule et minuscule d’une lettre diffèrent d’exactement 32. A vaut 65 et a vaut 97, donc inverser un seul bit change la casse. Comme ASCII tient sur sept bits, chaque caractère ASCII occupe un octet avec de la marge, ce qui gardait les premiers fichiers texte petits et simples.

D’ASCII à Unicode

ASCII ne pouvait décrire que l’anglais ; à mesure que l’informatique se répandait, le monde a eu besoin d’un schéma universel. Unicode attribue un nombre unique, appelé point de code, à chaque caractère de chaque écriture, du latin et du cyrillique au chinois, à l’arabe et aux emoji. Les 128 premiers points de code Unicode sont volontairement identiques à ASCII, si bien que tout texte ASCII existant est déjà de l’Unicode valide. Les points de code s’écrivent généralement en hexadécimal avec un préfixe U+, comme U+0041 pour A ou U+1F600 pour un visage souriant.

Encodage : comment les points de code deviennent des octets

Un point de code est un nombre abstrait ; un encodage décide comment le stocker sous forme d’octets. UTF-8, défini par la RFC 3629, est l’encodage dominant sur le web. Il utilise un octet pour la plage ASCII d’origine, gardant le texte anglais compact, et deux à quatre octets pour les points de code plus élevés. Cette rétrocompatibilité explique pourquoi UTF-8 est devenu universel : un ancien fichier ASCII est déjà de l’UTF-8 valide, tandis que le même encodage peut représenter n’importe quel caractère défini par Unicode.

Lorsque vous convertissez un code décimal comme 65 en son caractère, vous lisez une entrée de cette immense table. Les petits nombres tombent dans le territoire familier de l’ASCII, tandis que les plus grands atteignent toute la plage d’Unicode. Un convertisseur de codes de caractères vous permet de passer d’un nombre au symbole qu’il représente sans consulter la table à la main.

Sources