Table ASCII — Décimal, Hex, Binaire et Octal
Parcourez les 128 codes ASCII (0–127) avec leurs représentations décimale, hexadécimale, octale et binaire. Les caractères de contrôle (0–31, 127) sont mis en surbrillance et étiquetés avec leurs abréviations standard et leurs noms complets. Filtrez pour n'afficher que les caractères imprimables ou les codes de contrôle, et recherchez par nombre décimal, valeur hex ou caractère.
| Déc | Hex | Car. | Description |
|---|---|---|---|
| 0 | 0x00 | NUL | NUL — Null |
| 1 | 0x01 | SOH | SOH — Start of Heading |
| 2 | 0x02 | STX | STX — Start of Text |
| 3 | 0x03 | ETX | ETX — End of Text |
| 4 | 0x04 | EOT | EOT — End of Transmission |
| 5 | 0x05 | ENQ | ENQ — Enquiry |
| 6 | 0x06 | ACK | ACK — Acknowledge |
| 7 | 0x07 | BEL | BEL — Bell |
| 8 | 0x08 | BS | BS — Backspace |
| 9 | 0x09 | HT | HT — Horizontal Tab |
| 10 | 0x0A | LF | LF — Line Feed |
| 11 | 0x0B | VT | VT — Vertical Tab |
| 12 | 0x0C | FF | FF — Form Feed |
| 13 | 0x0D | CR | CR — Carriage Return |
| 14 | 0x0E | SO | SO — Shift Out |
| 15 | 0x0F | SI | SI — Shift In |
| 16 | 0x10 | DLE | DLE — Data Link Escape |
| 17 | 0x11 | DC1 | DC1 — Device Control 1 (XON) |
| 18 | 0x12 | DC2 | DC2 — Device Control 2 |
| 19 | 0x13 | DC3 | DC3 — Device Control 3 (XOFF) |
| 20 | 0x14 | DC4 | DC4 — Device Control 4 |
| 21 | 0x15 | NAK | NAK — Negative Acknowledge |
| 22 | 0x16 | SYN | SYN — Synchronous Idle |
| 23 | 0x17 | ETB | ETB — End of Transmission Block |
| 24 | 0x18 | CAN | CAN — Cancel |
| 25 | 0x19 | EM | EM — End of Medium |
| 26 | 0x1A | SUB | SUB — Substitute |
| 27 | 0x1B | ESC | ESC — Escape |
| 28 | 0x1C | FS | FS — File Separator |
| 29 | 0x1D | GS | GS — Group Separator |
| 30 | 0x1E | RS | RS — Record Separator |
| 31 | 0x1F | US | US — Unit Separator |
| 32 | 0x20 | SP — Space | |
| 33 | 0x21 | ! | |
| 34 | 0x22 | " | |
| 35 | 0x23 | # | |
| 36 | 0x24 | $ | |
| 37 | 0x25 | % | |
| 38 | 0x26 | & | |
| 39 | 0x27 | ' | |
| 40 | 0x28 | ( | |
| 41 | 0x29 | ) | |
| 42 | 0x2A | * | |
| 43 | 0x2B | + | |
| 44 | 0x2C | , | |
| 45 | 0x2D | - | |
| 46 | 0x2E | . | |
| 47 | 0x2F | / | |
| 48 | 0x30 | 0 | |
| 49 | 0x31 | 1 | |
| 50 | 0x32 | 2 | |
| 51 | 0x33 | 3 | |
| 52 | 0x34 | 4 | |
| 53 | 0x35 | 5 | |
| 54 | 0x36 | 6 | |
| 55 | 0x37 | 7 | |
| 56 | 0x38 | 8 | |
| 57 | 0x39 | 9 | |
| 58 | 0x3A | : | |
| 59 | 0x3B | ; | |
| 60 | 0x3C | < | |
| 61 | 0x3D | = | |
| 62 | 0x3E | > | |
| 63 | 0x3F | ? | |
| 64 | 0x40 | @ | |
| 65 | 0x41 | A | |
| 66 | 0x42 | B | |
| 67 | 0x43 | C | |
| 68 | 0x44 | D | |
| 69 | 0x45 | E | |
| 70 | 0x46 | F | |
| 71 | 0x47 | G | |
| 72 | 0x48 | H | |
| 73 | 0x49 | I | |
| 74 | 0x4A | J | |
| 75 | 0x4B | K | |
| 76 | 0x4C | L | |
| 77 | 0x4D | M | |
| 78 | 0x4E | N | |
| 79 | 0x4F | O | |
| 80 | 0x50 | P | |
| 81 | 0x51 | Q | |
| 82 | 0x52 | R | |
| 83 | 0x53 | S | |
| 84 | 0x54 | T | |
| 85 | 0x55 | U | |
| 86 | 0x56 | V | |
| 87 | 0x57 | W | |
| 88 | 0x58 | X | |
| 89 | 0x59 | Y | |
| 90 | 0x5A | Z | |
| 91 | 0x5B | [ | |
| 92 | 0x5C | \ | |
| 93 | 0x5D | ] | |
| 94 | 0x5E | ^ | |
| 95 | 0x5F | _ | |
| 96 | 0x60 | ` | |
| 97 | 0x61 | a | |
| 98 | 0x62 | b | |
| 99 | 0x63 | c | |
| 100 | 0x64 | d | |
| 101 | 0x65 | e | |
| 102 | 0x66 | f | |
| 103 | 0x67 | g | |
| 104 | 0x68 | h | |
| 105 | 0x69 | i | |
| 106 | 0x6A | j | |
| 107 | 0x6B | k | |
| 108 | 0x6C | l | |
| 109 | 0x6D | m | |
| 110 | 0x6E | n | |
| 111 | 0x6F | o | |
| 112 | 0x70 | p | |
| 113 | 0x71 | q | |
| 114 | 0x72 | r | |
| 115 | 0x73 | s | |
| 116 | 0x74 | t | |
| 117 | 0x75 | u | |
| 118 | 0x76 | v | |
| 119 | 0x77 | w | |
| 120 | 0x78 | x | |
| 121 | 0x79 | y | |
| 122 | 0x7A | z | |
| 123 | 0x7B | { | |
| 124 | 0x7C | | | |
| 125 | 0x7D | } | |
| 126 | 0x7E | ~ | |
| 127 | 0x7F | DEL | DEL — Delete |
Affichage de 128 sur 128 codes ASCII
Fonctionnement
Qu'est-ce que l'ASCII ?
L'ASCII (American Standard Code for Information Interchange) est un standard de codage de caractères publié à l'origine en 1963. Il définit 128 caractères : 33 caractères de contrôle non imprimables (codes 0–31 et 127) et 95 caractères imprimables (codes 32–126), comprenant les lettres majuscules et minuscules anglaises, les chiffres 0–9 et les signes de ponctuation courants. L'ASCII est devenu le fondement de pratiquement tous les encodages de texte modernes, dont UTF-8, qui est rétrocompatible avec l'ASCII pour les 128 premiers points de code.
Chaque caractère ASCII se voit attribuer une valeur entière de 7 bits, ce qui explique pourquoi la table s'arrête à 127 (2⁷ − 1). Lorsqu'il est stocké dans un octet de 8 bits, le bit de poids fort est généralement 0 pour l'ASCII standard. La plage ASCII étendue (128–255) n'est pas standardisée par la spécification d'origine et varie selon la page de codes — ISO 8859-1, Windows-1252 et les encodages similaires définissent chacun un ensemble de caractères différent pour la moitié supérieure de l'octet.
Caractères de contrôle (0–31 et 127)
Les 32 premiers codes ASCII et le code 127 sont des caractères de contrôle non imprimables hérités des conventions des machines télétypes. La plupart sont obsolètes en informatique moderne, mais certains restent importants : le code 9 (HT, tabulation horizontale), le code 10 (LF, saut de ligne ou retour à la ligne sous Unix/Linux), le code 13 (CR, retour chariot, utilisé dans les fins de ligne Windows sous la forme CR+LF), le code 27 (ESC, Échap, utilisé dans les séquences d'échappement de terminal) et le code 127 (DEL). Ces caractères ne sont pas rendus sous forme de glyphes visibles.
Sur les systèmes de type Unix, vous pouvez générer des caractères de contrôle dans un terminal en maintenant Ctrl et en appuyant sur la lettre correspondante : Ctrl+A = SOH (1), Ctrl+C = ETX (3, envoie un signal d'interruption), Ctrl+D = EOT (4, signale la fin de l'entrée), Ctrl+J = LF (10), Ctrl+M = CR (13), Ctrl+Z = SUB (26, suspend un processus sous Unix). La compréhension de ces codes est essentielle pour les E/S bas niveau, les séquences de contrôle de terminal et l'implémentation de protocoles réseau.
L'ASCII en programmation et développement web
En JavaScript, vous pouvez obtenir le code ASCII d'un caractère avec charCodeAt(0) : 'A'.charCodeAt(0) renvoie 65. Pour la conversion inverse, String.fromCharCode(65) renvoie 'A'. En Python, ord('A') renvoie 65 et chr(65) renvoie 'A'. En C, les valeurs char sont des entiers et peuvent être utilisées directement dans des opérations arithmétiques : 'A' + 1 est égal à 'B'.
Les valeurs ASCII sont à la base de nombreux schémas de programmation courants. La différence entre les lettres majuscules et minuscules est toujours de 32 : 'a' (97) = 'A' (65) + 32. Les chiffres 0–9 occupent les codes 48–57, donc soustraire 48 de la valeur ASCII d'un chiffre donne sa valeur numérique. L'encodage d'URL représente les caractères non sûrs pour les URL sous la forme %XX, où XX est le code ASCII en hex, ce qui rend cette table indispensable pour déboguer les chaînes encodées en URL et les en-têtes HTTP.
Questions fréquentes
›Quel est le code ASCII pour Entrée / nouvelle ligne ?
Le caractère de nouvelle ligne (saut de ligne) est le code ASCII 10 (0x0A, LF). Sous Unix/Linux/macOS, une nouvelle ligne est représentée par LF seul. Sous Windows, elle est représentée par CR+LF (codes 13 et 10, soit 0x0D 0x0A). Le caractère retour chariot est le code 13 (0x0D, CR). Lorsque vous écrivez du code de traitement de texte multiplateforme, gérez toujours les deux types de fins de ligne : LF et CR+LF.
›Quel est le code ASCII du caractère espace ?
Le caractère espace est le code ASCII 32 (0x20, SP). C'est le premier caractère imprimable de l'ASCII. L'espace insécable (utilisé en HTML sous la forme ) ne fait pas partie de l'ASCII standard 7 bits — il correspond au code 160 (0xA0) en ISO 8859-1 et en UTF-8 (encodé sous la forme 0xC2 0xA0 en UTF-8).
›Quelle est la différence entre ASCII, UTF-8 et Unicode ?
L'ASCII définit 128 caractères avec des codes sur 7 bits. Unicode est un standard universel qui définit plus de 140 000 caractères avec des points de code allant jusqu'à U+10FFFF. UTF-8 est un encodage à largeur variable d'Unicode : il encode les caractères ASCII (0–127) sur un seul octet, le rendant rétrocompatible avec l'ASCII. Les caractères au-delà de 127 utilisent 2 à 4 octets en UTF-8. Les systèmes de texte modernes utilisent UTF-8 ou UTF-16, mais l'ASCII reste important pour les en-têtes de protocole, les formats de fichiers et les systèmes hérités.
›Comment obtenir le code ASCII d'un caractère en JavaScript ?
Utilisez charCodeAt(0) : 'A'.charCodeAt(0) renvoie 65. Pour les points de code Unicode supérieurs à 65535, utilisez codePointAt(0) à la place. Pour convertir un code en caractère : String.fromCharCode(65) renvoie 'A'. Pour une prise en charge Unicode complète : String.fromCodePoint(128512) renvoie l'emoji 😀.
›Que fait le code ASCII 0 (NUL) ?
NUL (code 0) est le caractère nul. En C et dans de nombreux autres langages, il est utilisé comme terminateur de chaîne — la chaîne «Hello» est stockée en mémoire sous la forme des octets 72, 101, 108, 108, 111, 0. Dans les bases de données et les formats de fichiers, NUL peut apparaître comme séparateur de champ ou octet de remplissage. Dans la plupart des éditeurs de texte et des terminaux, NUL est invisible et ignoré, mais il peut causer des problèmes lors de la lecture de fichiers binaires en tant que texte.
›Qu'est-ce que le caractère Échap (ASCII 27) ?
ESC (code 27, 0x1B) est le caractère Échappement. Il marque le début des séquences d'échappement ANSI/VT100, qui contrôlent les couleurs du terminal et le déplacement du curseur. Par exemple, la séquence ESC[31m change la couleur du texte du terminal en rouge. Dans de nombreuses applications, appuyer sur la touche Échap envoie ce caractère. Il est également utilisé dans divers formats de données et protocoles de communication.
›Pourquoi la lettre majuscule A a-t-elle le code ASCII 65 et la minuscule a le code 97 ?
La table ASCII a été conçue de sorte que les lettres majuscules (A=65, B=66, …, Z=90) et les minuscules (a=97, b=98, …, z=122) diffèrent exactement de 32. Cela permet de convertir entre majuscules et minuscules par une simple addition ou soustraction. Pour convertir des majuscules en minuscules en ASCII : ajouter 32 (ou activer le bit 5). Pour convertir des minuscules en majuscules : soustraire 32 (ou effacer le bit 5). C'est pourquoi la conversion de casse au niveau des bits fonctionne en C : char lower = upper | 0x20.
›Quelle est la différence entre CR, LF et CRLF ?
CR (Carriage Return, code 13) et LF (Line Feed, code 10) sont issus des conventions des machines à écrire et des téléscripteurs. CR ramène la tête d'impression au début de la ligne ; LF avance à la ligne suivante. Unix/Linux utilise uniquement LF pour les retours à la ligne. Windows utilise CR+LF (les deux ensemble). Le Mac OS classique (avant OS X) utilisait uniquement CR. La plupart des analyseurs modernes gèrent les trois formats, mais mélanger les fins de ligne dans les fichiers source pose des problèmes avec les diff de contrôle de version et certains processeurs de texte.
Outils similaires
Dernière mise à jour: