Le Codage ASCII Expliqué : Texte, Décimal, Hex, Binaire et Octal
ASCII associe chaque caractère imprimable à un nombre entre 0 et 127. Comprendre ces nombres en décimal, hex, binaire et octal est une compétence à laquelle tout développeur fait appel plus souvent que prévu.
Qu'est-ce qu'ASCII ?
ASCII signifie American Standard Code for Information Interchange. Publié en 1963, il définit une correspondance entre 128 caractères et les entiers de 0 à 127. Ces 128 caractères couvrent l'alphabet anglais (majuscules et minuscules), les chiffres 0–9, la ponctuation et 33 caractères de contrôle comme le saut de ligne, la tabulation et le retour chariot.
Chaque caractère que vous tapez dans un programme en anglais est représenté en interne comme un nombre ASCII.
Pourquoi les développeurs ont encore besoin d'ASCII
- Lire des fichiers binaires : Dans un éditeur hex, le panneau droit montre l'interprétation ASCII de chaque octet. Savoir que
0x48 0x54 0x54 0x50épelle "HTTP" donne une orientation immédiate. - Déboguer les protocoles réseau : Le trafic TCP et HTTP brut est du texte ASCII. Une capture de paquets devient lisible dès qu'on connaît la table.
- Encodage URL : L'espace est ASCII 32 (
0x20), c'est pourquoi il devient%20dans une URL. Le signe pourcentage est suivi de la valeur hex du code ASCII. - Séquences d'échappement :
\nest ASCII 10,\test ASCII 9,\rest ASCII 13. - Systèmes legacy : Mainframes, firmware embarqué et protocoles série ont été conçus autour d'ASCII.
Les quatre systèmes numériques en un seul exemple
La lettre A est l'exemple le plus propre parce que ses valeurs sont faciles à retenir dans les quatre systèmes.
| Système | Valeur pour "A" | Comment le lire |
|---|---|---|
| Décimal | 65 | Base 10, le système de comptage habituel |
| Hexadécimal | 0x41 | Base 16 ; 4×16 + 1 = 65 |
| Binaire | 01000001 | Base 2 ; les bits réels stockés en mémoire |
| Octal | 101 | Base 8 ; 1×64 + 0×8 + 1 = 65 |
Le a minuscule est le décimal 97 (0x61). La différence entre majuscule et minuscule est exactement 32 — la même valeur que l'espace. Ce n'est pas un hasard : c'est un choix de conception délibéré qui fait de la conversion de casse un simple changement de bit.
Exemples pratiques
Encodage URL
Quand un navigateur encode une URL, il prend la valeur ASCII de chaque caractère non sûr et l'écrit comme un signe pourcentage suivi de deux chiffres hex. Espace (ASCII 32 = 0x20) devient %20. Utilisez l'Encodeur/Décodeur d'URL pour encoder ou décoder n'importe quelle chaîne URL instantanément.
Séquences d'échappement
\n— ASCII 10, saut de ligne\r— ASCII 13, retour chariot (fin de ligne Windows :\r\n)\t— ASCII 9, tabulation horizontale\0— ASCII 0, null (terminateur de chaîne en C)\x41— Échappement hex ; ASCII 65 = "A"
Lire les fichiers binaires
Les fichiers PNG commencent par 89 50 4E 47 en hex ; les octets du milieu (50 4E 47) sont ASCII pour "PNG". Les fichiers ZIP commencent par 50 4B : "PK". Ces signatures permettent d'identifier les types de fichiers sans se fier à l'extension.
ASCII étendu et Unicode
L'ASCII standard couvre 128 caractères, suffisant pour l'anglais mais pas pour les autres langues. Divers schémas d'ASCII étendu ont utilisé le 8e bit pour ajouter 128 caractères. Le problème : il n'y avait pas de norme unique. La page de codes 437, Latin-1 et Windows-1252 utilisaient la même plage d'octets pour des caractères différents.
Unicode a résolu cela en attribuant un numéro unique à chaque caractère de tous les systèmes d'écriture. UTF-8 est rétrocompatible avec ASCII : les 128 premiers points de code Unicode sont identiques à ASCII.
Outils connexes
Le Convertisseur Binaire en Texte convertit les chaînes binaires brutes en texte lisible. Pour les conversions entre bases numériques, le Convertisseur de Base Numérique gère décimal, hex, binaire et octal.
Questions fréquemment posées
Quelle est la valeur ASCII de l'espace ?
L'espace est ASCII 32 (décimal), 0x20 (hex), 00100000 (binaire). C'est le plus bas des caractères ASCII imprimables.
Pourquoi "A" est-il le décimal 65 ?
Les valeurs 0–31 sont réservées aux caractères de contrôle, et 32 est l'espace. Les caractères imprimables commencent à 33. Les chiffres 0–9 sont aux positions 48–57, les lettres A–Z à 65–90 et les a–z à 97–122.
Quelle est la différence entre ASCII et Unicode ?
ASCII définit 128 caractères ; Unicode en définit plus de 140 000. Les 128 premiers points de code Unicode sont identiques à ASCII, donc le texte ASCII encodé en UTF-8 est octet pour octet identique à l'ASCII brut.
Convertissez n'importe quel texte en ASCII
Collez n'importe quel texte et voyez instantanément les valeurs décimales, hex, binaires et octales de chaque caractère.