La Table ASCII :
Guide Complet
Historique, les 128 codes essentiels, différence ASCII / UTF-8 / Unicode, astuces de développeur et outils de conversion gratuits directement dans votre navigateur.
AS Qu'est-ce qu'ASCII ?
ASCII — American Standard Code for Information Interchange — est un système d'encodage qui associe chaque lettre, chiffre, signe de ponctuation et caractère de contrôle à un entier entre 0 et 127.
Chaque valeur ASCII est codée sur 7 bits, ce qui permet de représenter exactement 128 caractères distincts. Ces caractères constituent la base de presque tous les systèmes d'encodage modernes, y compris UTF-8, qui est rétrocompatible avec ASCII pour les 128 premiers points de code.
Créé dans les années 1960, ASCII reste omniprésent aujourd'hui : protocoles Internet (HTTP, SMTP, FTP), langages de programmation, formats de fichiers et communication entre systèmes hétérogènes.
📖 Histoire et origine d'ASCII
Première publication
L'ASA (American Standards Association, aujourd'hui ANSI) publie la première version d'ASCII pour standardiser l'échange de données entre machines de fabricants différents : IBM, DEC, Teletype.
Révision majeure
Révision importante qui stabilise le jeu de caractères tel qu'on le connaît aujourd'hui, notamment l'ordre alphabétique des lettres et la position des chiffres à partir du code 48.
Pourquoi 128 caractères ?
Le choix de 7 bits répondait aux contraintes matérielles de l'époque : la transmission sérielle utilisait 7 bits de données et 1 bit de parité pour la détection d'erreurs dans les téléscripteurs.
Toujours omniprésent
Plus de 60 ans après sa création, ASCII reste la colonne vertébrale de l'informatique mondiale. Chaque page web, chaque email, chaque ligne de code contient des caractères ASCII.
Les codes ASCII essentiels à connaître
| Plage décimale | Contenu | Utilité pratique |
|---|---|---|
| 0–31 | Caractères de contrôle | Flux de données, protocoles de communication |
| 32 | Espace | Séparateur universel |
| 48–57 | Chiffres 0–9 | char - '0' = valeur numérique |
| 65–90 | Majuscules A–Z | Écart constant de 32 avec les minuscules |
| 97–122 | Minuscules a–z | Conversion maj/min par ±32 |
| 127 | DEL | Caractère d'effacement (héritage télétype) |
💡 Astuce développeur : la propriété majuscule/minuscule
En ASCII, la différence entre majuscule et minuscule est toujours exactement 32. En manipulant le 6e bit d'un octet, on bascule entre les deux avec une simple opération binaire :
ASCII étendu et les pages de codes
La table ASCII originale ne couvre pas les lettres accentuées françaises (é, è, ê, à, ç, œ). Diverses extensions ont utilisé le 8e bit d'un octet pour porter le total à 256 caractères :
ISO 8859-1 (Latin-1)
Couvre l'Europe occidentale : français, espagnol, allemand, portugais. L'extension ASCII la plus utilisée historiquement en France.
Windows-1252 (CP1252)
Extension propriétaire Microsoft très proche de Latin-1. Utilisée par défaut dans les versions françaises de Windows.
ISO 8859-15 (Latin-9)
Variante de Latin-1 qui ajoute le signe euro (€) et quelques caractères manquants pour certaines langues européennes.
Ces encodages sont largement obsolètes aujourd'hui, remplacés par UTF-8. Ils restent présents dans d'anciens systèmes et fichiers hérités.
ASCII vs UTF-8 vs Unicode : quelle différence ?
| Propriété | ASCII | UTF-8 | Unicode |
|---|---|---|---|
| Nature | Encodage | Encodage | Standard de caractères |
| Nb. caractères | 128 | +1 million | +140 000 |
| Taille par caractère | 7 bits (1 octet) | 1 à 4 octets | Variable |
| Langues supportées | Anglais uniquement | Toutes les langues | Toutes les langues |
| Compat. ASCII | — | Oui ✓ | Oui ✓ |
Unicode est le standard international qui attribue un point de code unique à chaque caractère. UTF-8 est la façon la plus répandue de l'encoder en octets : il encode les 128 premiers caractères ASCII en un seul octet — c'est pourquoi un fichier ASCII pur est aussi un fichier UTF-8 valide.
Utilisation d'ASCII en développement logiciel
Validation de chaînes
Vérifier qu'une chaîne ne contient que des caractères ASCII (0–127) est courant pour valider des identifiants ou des champs qui n'acceptent pas l'Unicode.
Encodage d'URL (percent-encoding)
Les URL n'acceptent que l'ASCII imprimable. Tout autre caractère est encodé en %XX où XX est la valeur hexadécimale ASCII. L'espace (32 → hex 20) devient %20.
Protocoles réseau
HTTP/1.1, SMTP, FTP reposent sur des en-têtes textuels ASCII. Comprendre les codes ASCII est indispensable pour analyser des trames réseau avec Wireshark ou curl.
Terminaux et séquences ANSI
ESC (27), BEL (7), BS (8) et LF (10) sont des codes de contrôle ASCII encore utilisés dans les séquences d'échappement ANSI pour coloriser la sortie dans les terminaux modernes.
Obtenir la valeur ASCII d'un caractère
ord('A') # → 65
chr(65) # → 'A''A'.charCodeAt(0) // → 65
String.fromCharCode(65) // → 'A'Questions fréquentes sur la table ASCII
Pourquoi le code ASCII de 'A' majuscule est-il 65 et pas 1 ?
Les codes 0–31 sont réservés aux caractères de contrôle hérités des téléscripteurs, le code 32 est l'espace, et les chiffres commencent à 48 pour que leur valeur ASCII moins 48 donne directement leur valeur numérique. Les majuscules commencent à 65 et les minuscules à 97, laissant une plage de symboles de ponctuation entre les deux.
Puis-je convertir du texte français accentué en ASCII ?
Les caractères accentués (é, è, à, ç…) ne font pas partie de la table ASCII originale à 128 caractères. Ils sont présents dans ASCII étendu (Latin-1) et dans UTF-8. Notre outil ASCII to Text gère les valeurs décimales ASCII standard. Pour le texte accentué en binaire, utilisez le convertisseur binaire vers texte qui supporte UTF-8 intégralement.
Quelle est la différence entre un caractère ASCII et un code point Unicode ?
Un caractère ASCII est défini par sa valeur dans la table (0–127). Un code point Unicode est noté U+XXXX (ex. U+0041 pour 'A'). Les 128 premiers points de code Unicode correspondent exactement aux 128 caractères ASCII — conçu pour assurer la compatibilité descendante.
Comment obtenir la valeur ASCII d'un caractère en Python ?
En Python, utilisez ord() pour obtenir la valeur ASCII : ord('A') retourne 65. Pour l'opération inverse, chr(65) retourne 'A'. En JavaScript : 'A'.charCodeAt(0) → 65 et String.fromCharCode(65) → 'A'.
Qu'est-ce que le retour chariot (CR) et le saut de ligne (LF) en ASCII ?
CR (Carriage Return, code 13) et LF (Line Feed, code 10) sont des caractères de contrôle hérités des téléscripteurs. Windows utilise CRLF (\r\n) pour les fins de ligne, Unix/Linux utilisent LF seul (\n), et l'ancien Mac classique utilisait CR seul. Ces différences causent parfois des problèmes lors du partage de fichiers texte entre systèmes.
Outils associés
Plus d'outils gratuits
? Comment fonctionne l'encodage ASCII ?
ASCII fonctionne selon un principe simple : chaque caractère est associé à un entier unique. Quand un programme stocke le caractère 'A', il stocke en réalité la valeur binaire
01000001(65 en décimal).Exemple : le mot "Bonjour" en ASCII