Guide développeur

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.

128
Caractères
Codes 0–127
7
Bits par code
2⁷ = 128
1963
Première version
Révisé en 1967

📖 Histoire et origine d'ASCII

1963

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.

1967

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.

7 bits

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.

2024

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.

? 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

Caractère Décimal Hex Binaire (8 bits)
B664201000010
o1116F01101111
n1106E01101110
j1066A01101010
o1116F01101111
u1177501110101
r1147201110010

Les codes ASCII essentiels à connaître

Plage décimale Contenu Utilité pratique
0–31Caractères de contrôleFlux de données, protocoles de communication
32EspaceSéparateur universel
48–57Chiffres 0–9char - '0' = valeur numérique
65–90Majuscules A–ZÉcart constant de 32 avec les minuscules
97–122Minuscules a–zConversion maj/min par ±32
127DELCaractè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 :

'A' (65) + 32
'a' (97)
'Z' (90) + 32
'z' (122)
6e bit diffère
01000001 ↔ 01100001

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
NatureEncodageEncodageStandard de caractères
Nb. caractères128+1 million+140 000
Taille par caractère7 bits (1 octet)1 à 4 octetsVariable
Langues supportéesAnglais uniquementToutes les languesToutes les langues
Compat. ASCIIOui ✓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

Python
ord('A') # → 65
chr(65) # → 'A'
JavaScript
'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