Consultation de la Table ASCII
Référence complète des codes de caractères ASCII avec caractères de contrôles, imprimables et étendus
| Décimal | Hex | Caractère | Description | |
|---|---|---|---|---|
| 0 | 0x00 | - | Caractère nul | |
| 1 | 0x01 | - | Début d'en-tête | |
| 2 | 0x02 | - | Début de texte | |
| 3 | 0x03 | - | Fin de texte | |
| 4 | 0x04 | - | Fin de transmission | |
| 5 | 0x05 | - | Demande | |
| 6 | 0x06 | - | Accusé de réception | |
| 7 | 0x07 | - | Sonnerie | |
| 8 | 0x08 | - | Retour arrière | |
| 9 | 0x09 | - | Tabulation horizontale | |
| 10 | 0x0A | - | Saut de ligne | |
| 11 | 0x0B | - | Tabulation verticale | |
| 12 | 0x0C | - | Saut de page | |
| 13 | 0x0D | - | Retour chariot | |
| 14 | 0x0E | - | Shift Out | |
| 15 | 0x0F | - | Shift In | |
| 16 | 0x10 | - | Échappement de liaison de données | |
| 17 | 0x11 | - | Contrôle de périphérique 1 | |
| 18 | 0x12 | - | Contrôle de périphérique 2 | |
| 19 | 0x13 | - | Contrôle de périphérique 3 | |
| 20 | 0x14 | - | Contrôle de périphérique 4 | |
| 21 | 0x15 | - | Accusé de réception négatif | |
| 22 | 0x16 | - | Synchronisation inactive | |
| 23 | 0x17 | - | Fin de bloc de transmission | |
| 24 | 0x18 | - | Annulation | |
| 25 | 0x19 | - | Fin de support | |
| 26 | 0x1A | - | Substitut | |
| 27 | 0x1B | - | Échappement | |
| 28 | 0x1C | - | Séparateur de fichier | |
| 29 | 0x1D | - | Séparateur de groupe | |
| 30 | 0x1E | - | Séparateur d'enregistrement | |
| 31 | 0x1F | - | Séparateur d'unité | |
| 127 | 0x7F | - | Supprimer | |
| 32 | 0x20 | ␣ | Espace | |
| 33 | 0x21 | ! | Point d'exclamation | |
| 34 | 0x22 | " | Guillemet double | |
| 35 | 0x23 | # | Croisillon | |
| 36 | 0x24 | $ | Signe dollar | |
| 37 | 0x25 | % | Signe pourcentage | |
| 38 | 0x26 | & | Esperluette | |
| 39 | 0x27 | ' | Guillemet simple | |
| 40 | 0x28 | ( | Parenthèse gauche | |
| 41 | 0x29 | ) | Parenthèse droite | |
| 42 | 0x2A | * | Astérisque | |
| 43 | 0x2B | + | Signe plus | |
| 44 | 0x2C | , | Virgule | |
| 45 | 0x2D | - | Tiret | |
| 46 | 0x2E | . | Point | |
| 47 | 0x2F | / | Barre oblique | |
| 48 | 0x30 | 0 | Chiffre 0 | |
| 49 | 0x31 | 1 | Chiffre 1 | |
| 50 | 0x32 | 2 | Chiffre 2 | |
| 51 | 0x33 | 3 | Chiffre 3 | |
| 52 | 0x34 | 4 | Chiffre 4 | |
| 53 | 0x35 | 5 | Chiffre 5 | |
| 54 | 0x36 | 6 | Chiffre 6 | |
| 55 | 0x37 | 7 | Chiffre 7 | |
| 56 | 0x38 | 8 | Chiffre 8 | |
| 57 | 0x39 | 9 | Chiffre 9 | |
| 58 | 0x3A | : | Deux-points | |
| 59 | 0x3B | ; | Point-virgule | |
| 60 | 0x3C | < | Inférieur à | |
| 61 | 0x3D | = | Signe égal | |
| 62 | 0x3E | > | Supérieur à | |
| 63 | 0x3F | ? | Point d'interrogation | |
| 64 | 0x40 | @ | Arobase | |
| 65 | 0x41 | A | Majuscule A | |
| 66 | 0x42 | B | Majuscule B | |
| 67 | 0x43 | C | Majuscule C | |
| 68 | 0x44 | D | Majuscule D | |
| 69 | 0x45 | E | Majuscule E | |
| 70 | 0x46 | F | Majuscule F | |
| 71 | 0x47 | G | Majuscule G | |
| 72 | 0x48 | H | Majuscule H | |
| 73 | 0x49 | I | Majuscule I | |
| 74 | 0x4A | J | Majuscule J | |
| 75 | 0x4B | K | Majuscule K | |
| 76 | 0x4C | L | Majuscule L | |
| 77 | 0x4D | M | Majuscule M | |
| 78 | 0x4E | N | Majuscule N | |
| 79 | 0x4F | O | Majuscule O | |
| 80 | 0x50 | P | Majuscule P | |
| 81 | 0x51 | Q | Majuscule Q | |
| 82 | 0x52 | R | Majuscule R | |
| 83 | 0x53 | S | Majuscule S | |
| 84 | 0x54 | T | Majuscule T | |
| 85 | 0x55 | U | Majuscule U | |
| 86 | 0x56 | V | Majuscule V | |
| 87 | 0x57 | W | Majuscule W | |
| 88 | 0x58 | X | Majuscule X | |
| 89 | 0x59 | Y | Majuscule Y | |
| 90 | 0x5A | Z | Majuscule Z | |
| 91 | 0x5B | [ | Crochet gauche | |
| 92 | 0x5C | \ | Barre oblique inversée | |
| 93 | 0x5D | ] | Crochet droit | |
| 94 | 0x5E | ^ | Accent circonflexe | |
| 95 | 0x5F | _ | Tiret bas | |
| 96 | 0x60 | ` | Accent grave | |
| 97 | 0x61 | a | Minuscule a | |
| 98 | 0x62 | b | Minuscule b | |
| 99 | 0x63 | c | Minuscule c | |
| 100 | 0x64 | d | Minuscule d | |
| 101 | 0x65 | e | Minuscule e | |
| 102 | 0x66 | f | Minuscule f | |
| 103 | 0x67 | g | Minuscule g | |
| 104 | 0x68 | h | Minuscule h | |
| 105 | 0x69 | i | Minuscule i | |
| 106 | 0x6A | j | Minuscule j | |
| 107 | 0x6B | k | Minuscule k | |
| 108 | 0x6C | l | Minuscule l | |
| 109 | 0x6D | m | Minuscule m | |
| 110 | 0x6E | n | Minuscule n | |
| 111 | 0x6F | o | Minuscule o | |
| 112 | 0x70 | p | Minuscule p | |
| 113 | 0x71 | q | Minuscule q | |
| 114 | 0x72 | r | Minuscule r | |
| 115 | 0x73 | s | Minuscule s | |
| 116 | 0x74 | t | Minuscule t | |
| 117 | 0x75 | u | Minuscule u | |
| 118 | 0x76 | v | Minuscule v | |
| 119 | 0x77 | w | Minuscule w | |
| 120 | 0x78 | x | Minuscule x | |
| 121 | 0x79 | y | Minuscule y | |
| 122 | 0x7A | z | Minuscule z | |
| 123 | 0x7B | { | Accolade gauche | |
| 124 | 0x7C | | | Barre verticale | |
| 125 | 0x7D | } | Accolade droite | |
| 126 | 0x7E | ~ | Tilde | |
| 128 | 0x80 | | ||
| 129 | 0x81 | | ||
| 130 | 0x82 | | ||
| 131 | 0x83 | | ||
| 132 | 0x84 | | ||
| 133 | 0x85 | |||
| 134 | 0x86 | | ||
| 135 | 0x87 | | ||
| 136 | 0x88 | | ||
| 137 | 0x89 | | ||
| 138 | 0x8A | | ||
| 139 | 0x8B | | ||
| 140 | 0x8C | | ||
| 141 | 0x8D | | ||
| 142 | 0x8E | | ||
| 143 | 0x8F | | ||
| 144 | 0x90 | | ||
| 145 | 0x91 | | ||
| 146 | 0x92 | | ||
| 147 | 0x93 | | ||
| 148 | 0x94 | | ||
| 149 | 0x95 | | ||
| 150 | 0x96 | | ||
| 151 | 0x97 | | ||
| 152 | 0x98 | | ||
| 153 | 0x99 | | ||
| 154 | 0x9A | | ||
| 155 | 0x9B | | ||
| 156 | 0x9C | | ||
| 157 | 0x9D | | ||
| 158 | 0x9E | | ||
| 159 | 0x9F | | ||
| 160 | 0xA0 | |||
| 161 | 0xA1 | ¡ | ||
| 162 | 0xA2 | ¢ | ||
| 163 | 0xA3 | £ | ||
| 164 | 0xA4 | ¤ | ||
| 165 | 0xA5 | ¥ | ||
| 166 | 0xA6 | ¦ | ||
| 167 | 0xA7 | § | ||
| 168 | 0xA8 | ¨ | ||
| 169 | 0xA9 | © | ||
| 170 | 0xAA | ª | ||
| 171 | 0xAB | « | ||
| 172 | 0xAC | ¬ | ||
| 173 | 0xAD | | ||
| 174 | 0xAE | ® | ||
| 175 | 0xAF | ¯ | ||
| 176 | 0xB0 | ° | ||
| 177 | 0xB1 | ± | ||
| 178 | 0xB2 | ² | ||
| 179 | 0xB3 | ³ | ||
| 180 | 0xB4 | ´ | ||
| 181 | 0xB5 | µ | ||
| 182 | 0xB6 | ¶ | ||
| 183 | 0xB7 | · | ||
| 184 | 0xB8 | ¸ | ||
| 185 | 0xB9 | ¹ | ||
| 186 | 0xBA | º | ||
| 187 | 0xBB | » | ||
| 188 | 0xBC | ¼ | ||
| 189 | 0xBD | ½ | ||
| 190 | 0xBE | ¾ | ||
| 191 | 0xBF | ¿ | ||
| 192 | 0xC0 | À | ||
| 193 | 0xC1 | Á | ||
| 194 | 0xC2 | Â | ||
| 195 | 0xC3 | Ã | ||
| 196 | 0xC4 | Ä | ||
| 197 | 0xC5 | Å | ||
| 198 | 0xC6 | Æ | ||
| 199 | 0xC7 | Ç | ||
| 200 | 0xC8 | È | ||
| 201 | 0xC9 | É | ||
| 202 | 0xCA | Ê | ||
| 203 | 0xCB | Ë | ||
| 204 | 0xCC | Ì | ||
| 205 | 0xCD | Í | ||
| 206 | 0xCE | Î | ||
| 207 | 0xCF | Ï | ||
| 208 | 0xD0 | Ð | ||
| 209 | 0xD1 | Ñ | ||
| 210 | 0xD2 | Ò | ||
| 211 | 0xD3 | Ó | ||
| 212 | 0xD4 | Ô | ||
| 213 | 0xD5 | Õ | ||
| 214 | 0xD6 | Ö | ||
| 215 | 0xD7 | × | ||
| 216 | 0xD8 | Ø | ||
| 217 | 0xD9 | Ù | ||
| 218 | 0xDA | Ú | ||
| 219 | 0xDB | Û | ||
| 220 | 0xDC | Ü | ||
| 221 | 0xDD | Ý | ||
| 222 | 0xDE | Þ | ||
| 223 | 0xDF | ß | ||
| 224 | 0xE0 | à | ||
| 225 | 0xE1 | á | ||
| 226 | 0xE2 | â | ||
| 227 | 0xE3 | ã | ||
| 228 | 0xE4 | ä | ||
| 229 | 0xE5 | å | ||
| 230 | 0xE6 | æ | ||
| 231 | 0xE7 | ç | ||
| 232 | 0xE8 | è | ||
| 233 | 0xE9 | é | ||
| 234 | 0xEA | ê | ||
| 235 | 0xEB | ë | ||
| 236 | 0xEC | ì | ||
| 237 | 0xED | í | ||
| 238 | 0xEE | î | ||
| 239 | 0xEF | ï | ||
| 240 | 0xF0 | ð | ||
| 241 | 0xF1 | ñ | ||
| 242 | 0xF2 | ò | ||
| 243 | 0xF3 | ó | ||
| 244 | 0xF4 | ô | ||
| 245 | 0xF5 | õ | ||
| 246 | 0xF6 | ö | ||
| 247 | 0xF7 | ÷ | ||
| 248 | 0xF8 | ø | ||
| 249 | 0xF9 | ù | ||
| 250 | 0xFA | ú | ||
| 251 | 0xFB | û | ||
| 252 | 0xFC | ü | ||
| 253 | 0xFD | ý | ||
| 254 | 0xFE | þ | ||
| 255 | 0xFF | ÿ |
Qu'est-ce que ASCII ?
ASCII (American Standard Code for Information Interchange) est un standard d'encodage de caractères basé sur l'alphabet latin. Développé initialement pour la communication par télégraphe, il est devenu le système d'encodage de caractères fondamental en informatique. ASCII standard contient 128 caractères (0-127), incluant 33 caractères de contrôle et 95 caractères imprimables. Une table ASCII est surtout utile pour déboguer encodages, caractères de contrôle, protocoles, séquences d’échappement, terminaux et anciens formats. Les valeurs décimales, hexadécimales et binaires montrent comment un caractère est réellement stocké ou transmis. Le texte moderne utilise généralement Unicode, donc ASCII ne couvre que le noyau historique sur 7 bits. Pour caractères internationaux, emoji, signes typographiques et textes multilingues, il faut aussi vérifier les points de code Unicode et l’encodage.
Comment utiliser
Opérations de base
- Cliquez sur une valeur ou un caractère pour la copier
- Utilisez la barre de recherche pour trouver rapidement un caractère précis
- Cliquez sur les boutons de catégorie pour filtrer par type de caractère
- Survolez les caractères pour afficher leur description détaillée
Remarques sur l'encodage
- ASCII ne couvre que la plage 0-127 ; les lettres accentuées, les émojis et la plupart des textes non anglais nécessitent un encodage Unicode tel que UTF-8.
- Les caractères de contrôle peuvent ne pas s'afficher visiblement, mais ils peuvent tout de même affecter fichiers, terminaux, protocoles et texte copié-collé.
Cas d’utilisation
Principe technique
ASCII (American Standard Code for Information Interchange, ANSI X3.4-1968, ISO/IEC 646:1991 IRV) est un encodage de caractères sur 7 bits attribuant des codes numériques de 0 à 127 à 128 caractères. Les 32 premiers codes (0x00-0x1F) plus 0x7F sont des caractères de contrôle hérités des télétypes : NUL (0x00), BEL (0x07, la sonnerie d'alerte), LF (0x0A, saut de ligne), CR (0x0D, retour chariot), ESC (0x1B), DEL (0x7F), etc. Les codes 0x20-0x7E sont imprimables : espace, les chiffres 0-9 à 0x30-0x39, les lettres majuscules A-Z à 0x41-0x5A, les lettres minuscules a-z à 0x61-0x7A et la ponctuation entre elles. L'encodage a une structure délibérément régulière. Les chiffres sont groupés : '0' = 0x30, '1' = 0x31, ..., '9' = 0x39. Convertir un caractère chiffre en sa valeur numérique est `code - 0x30`. Les lettres sont également groupées : 'A' = 0x41, 'B' = 0x42, ..., 'Z' = 0x5A, et 'a' = 0x61, ..., 'z' = 0x7A. La différence entre majuscule et minuscule pour une même lettre est 0x20 (32), ce qui correspond exactement à un bit en position 5 (1 << 5 = 32). Cela rend la conversion de casse un simple XOR ou OR/AND avec 0x20 : `code ^ 0x20` inverse la casse, `code | 0x20` passe en minuscules, `code & 0x5F` (= `code & ~0x20`) passe en majuscules. Cette astuce de bits est la conversion de casse la plus rapide possible et se retrouve dans les implémentations strlen/strcmp pour les chaînes ASCII uniquement. ASCII a été conçu pour les télétypes sur 7 bits et le code Baudot sur 5 niveaux qui l'a précédé, il précède donc les octets de 8 bits. La plage « ASCII étendu » sur 8 bits (0x80-0xFF) n'a jamais été standardisée, ce qui explique pourquoi tant de pages de codes (ISO 8859-1 Latin-1, Windows-1252, MacRoman, KOI8-R, IBM437) se sont disputées la moitié haute. ISO 8859-1 (Latin-1) était ce qui se rapprochait le plus d'un standard, mais même lui manquait le signe Euro jusqu'à ISO 8859-15. La plage de contrôle C1 (0x80-0x9F) devait être réservée (ISO 6429), mais Windows-1252 en a réutilisé une partie pour des caractères imprimables — un point de douleur d'interopérabilité de longue date que l'UTF-8 a finalement résolu. L'UTF-8 (RFC 3629, 2003) a été conçu par Rob Pike et Ken Thompson en 1992 comme un sur-ensemble rétrocompatible : les 128 codes ASCII s'encodent en eux-mêmes sur un seul octet (0x00-0x7F), donc tout texte ASCII est aussi un texte UTF-8 valide. Les codes supérieurs à 0x7F utilisent des séquences de 2, 3 ou 4 octets avec des motifs de bits spécifiques (110xxxxx 10xxxxxx, 1110xxxx 10xxxxxx 10xxxxxx, 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx) permettant au décodeur de se resynchroniser octet par octet après une erreur. L'EBCDIC, en revanche, était l'encodage 8 bits d'IBM pour les ordinateurs centraux (l'EBCDIC 8 bits était sur 8 bits, pas sur 7 bits comme ASCII) et attribue des lettres à des points de code non contigus ('A' = 0xC1, 'I' = 0xC9, 'J' = 0xD1, ..., avec des lacunes qui nuisent aux astuces de bits et aux algorithmes de chaînes). Les variantes nationales d'ISO 646 remplaçaient un petit ensemble de caractères ASCII par des lettres spécifiques au pays. Par exemple, la variante britannique remplaçait 0x23 (le '#' américain) par le signe livre '£', et la variante allemande remplaçait une partie de la ponctuation par des caractères accentués. C'est pourquoi les paramètres régionaux de C et les fichiers charmap de POSIX étaient historiquement importants — ils faisaient la correspondance entre l'IRV (Version Internationale de Référence) et les variantes nationales. La solution à ce problème est Unicode / UTF-8, qui rend obsolète l'ensemble du débat 7 bits et 8 bits pour tout nouveau projet.
- ASCII (ANSI X3.4-1968, ISO/IEC 646 IRV) utilise 7 bits par caractère avec 128 points de code : 33 caractères de contrôle (0x00-0x1F, 0x7F) et 95 caractères imprimables (0x20-0x7E).
- Les caractères de contrôle (0x00-0x1F, 0x7F) étaient hérités des télétypes : NUL, BEL (0x07, sonnerie d'alerte), LF (0x0A), CR (0x0D), ESC (0x1B), DEL (0x7F). Le texte moderne utilise encore LF et CR ; le reste relève principalement de l'histoire.
- Disposition des caractères imprimables : espace (0x20), chiffres '0'-'9' (0x30-0x39), majuscules 'A'-'Z' (0x41-0x5A), minuscules 'a'-'z' (0x61-0x7A), ponctuation entre les deux. Convertir '5' en 5 est `code - 0x30` ; majuscule vers minuscule est `code | 0x20`.
- La conversion de casse est une seule opération binaire : XOR 0x20 inverse la casse ; OR 0x20 passe en minuscules ; AND 0x5F (= `code & ~0x20`) passe en majuscules. C'est la conversion de casse la plus rapide dans n'importe quel langage et c'est ainsi que fonctionnent strlen/strcmp sur les tampons ASCII uniquement.
- Les extensions sur 8 bits (0x80-0xFF) n'ont jamais été standardisées, donc Windows-1252, ISO-8859-1, MacRoman, KOI8-R, IBM437 ont tous défini la moitié haute différemment. Windows-1252 a gagné sur le web et est le « ASCII étendu » de facto utilisé par la plupart des anciens codes.
- L'UTF-8 (RFC 3629, Pike & Thompson 1992) est un sur-ensemble strict d'ASCII : les 128 points de code ASCII s'encodent comme eux-mêmes sur 1 octet ; les points de code supérieurs à U+007F utilisent 2 à 4 octets avec des octets de continuation 110xxxxx 10xxxxxx, permettant aux décodeurs de se resynchroniser octet par octet après les erreurs.
- L'EBCDIC (IBM, années 1960, ordinateurs centraux) est l'alternative 8 bits à ASCII utilisée sur IBM z/OS. Les positions des lettres ne sont pas contiguës ('A'=0xC1, 'I'=0xC9, 'J'=0xD1), donc l'astuce de conversion de casse ASCII ne fonctionne pas et les algorithmes de décalage de bits comme tolower() nécessitent des recherches en table.
- Les variantes nationales d'ISO 646 (britannique, allemande, suédoise, etc.) remplaçaient un petit ensemble de caractères ASCII par des lettres spécifiques au pays : la variante britannique a échangé '#' contre '£' à 0x23, la variante allemande a échangé de la ponctuation contre des caractères accentués. La localisation pré-Unicode en résumé.
Exemples
Recherche rapide de caractère
Caractère : 'A'
Décimal : 65
Hex : 0x41
Binaire : 01000001
Octal : 0101
Échap C : \x41 ('\x41' en C / C++ / Python / JavaScript)
La différence entre majuscule et minuscule est 0x20 (32 en décimal) :
'a' = 0x61 (97) = 'A' (0x41) + 0x20
'A' = 0x41 (65) = 'a' (0x61) - 0x20
C'est pourquoi inverser le bit 5 (masque 0x20) change la casse d'une lettre.
ch ^ 0x20 inverse A <-> a (fonctionne pour A-Z, a-z, laisse les autres inchangés)Débogage des problèmes de saut de ligne
LF (0x0A, décimal 10) - Unix, Linux, macOS moderne '\n'
CR (0x0D, décimal 13) - Mac OS classique (avant OS X), certains protocoles réseau '\r'
CRLF (0x0D 0x0A, '13 10') - Windows, HTTP, SMTP, FTP '\r\n'
Vidage hex d'un fichier 'hi\r\n' enregistré sous Windows :
0000: 68 69 0d 0a hi..
Vidage hex du même contenu enregistré sous Linux ('hi\n') :
0000: 68 69 0a hi.
Effet sur le compte de lignes :
$ wc -l windows.txt unix.txt
1 windows.txt (1 saut de ligne, 0x0D 0x0A)
1 unix.txt (1 saut de ligne, 0x0A)
Le nombre d'octets diffère (4 vs 3) et des outils comme dos2unix détectent en
recherchant les paires 0x0D 0x0A et en supprimant le 0x0D.Référence d'encodage URL
Ensemble non réservé + réservé RFC 3986 (le reste doit être encodé en pourcentage) :
non réservé A-Z a-z 0-9 - _ . ~
réservé ! * ' ( ) ; : @ & = + $ , / ? # [ ]
encoder tout le reste en %HH, où HH est le hex majuscule à 2 chiffres
Caractères courants :
espace 0x20 -> %20 (ou '+' dans application/x-www-form-urlencoded)
! 0x21 -> %21
" 0x22 -> %22
# 0x23 -> %23
$ 0x24 -> %24
% 0x25 -> %25
& 0x26 -> %26 (séparateur dans les query strings - toujours encoder dans les valeurs)
' 0x27 -> %27
( 0x28 -> %28
) 0x29 -> %29
+ 0x2B -> %2B (ou %20 dans les corps de formulaire ; '+' signifie espace là)
, 0x2C -> %2C
/ 0x2F -> %2F (réservé dans le chemin, souvent sûr dans la query)
: 0x3A -> %3A
; 0x3B -> %3B
= 0x3D -> %3D
? 0x3F -> %3F
@ 0x40 -> %40
Exemple : https://example.com/path with space and ampersand
Encodé : https://example.com/path%20with%20space%20%26%20ampersandÉchappements de caractères de contrôle et métacaractères regex
Codes de contrôle courants et leurs formes d'échappement dans les chaînes C / Python / JavaScript :
NUL 0x00 '\0' (terminateur de chaîne en C)
BEL 0x07 '\a' (cloche du terminal)
BS 0x08 '\b' (retour arrière)
TAB 0x09 '\t' (tabulation horizontale)
LF 0x0A '\n' (saut de ligne)
VT 0x0B '\v' (tabulation verticale)
FF 0x0C '\f' (saut de page)
CR 0x0D '\r' (retour chariot)
ESC 0x1B '\x1b' / '\e' (POSIX) (début de séquence d'échappement)
DEL 0x7F '\x7f' (suppression)
Métacaractères regex devant être échappés avec \ :
^ $ . | ? * + ( ) [ ] { } \
Extrait JavaScript reproduisant la table ci-dessus :
const ctrl = { 0:'NUL', 9:'TAB', 10:'LF', 13:'CR', 27:'ESC', 32:'SP', 127:'DEL' };
for (const [code, name] of Object.entries(ctrl)) {
console.log(`${code.toString().padStart(3)} 0x${(+code).toString(16).padStart(2,'0')} ${name}`);
}
// -> ' 0x20 SP' 0a LF 0d CR etc.FAQ
Quelle est la taille de la table ASCII ?
L'ASCII standard a 128 points de code (0-127) : 33 caractères de contrôle (0-31 plus 127 DEL) et 95 caractères imprimables (de l'espace à ~). L'« ASCII étendu » désigne divers encodages mono-octet à 256 points de code comme Windows-1252 ou ISO-8859-1, qui ne sont pas réellement de l'ASCII.
Pourquoi le caractère 32 est-il listé comme « Space » au lieu d'un glyphe visible ?
Le point de code 32 (0x20) est le caractère espace lui-même. Il est imprimable mais invisible. La page affiche l'étiquette « SP » ou « Space » pour que vous puissiez le copier ; cliquer sur la ligne copie tout de même un véritable caractère espace dans le presse-papiers.
À quoi servent les 32 premiers codes ASCII ?
Ce sont des caractères de contrôle hérités de l'époque des téléscripteurs : TAB (9), LF (10), CR (13), ESC (27), entre autres. Les logiciels modernes utilisent encore TAB, LF, CR et NUL (0) ; les autres (BEL, ACK, ENQ, etc.) sont surtout historiques et n'apparaissent que dans les protocoles série et les en-têtes de fichiers binaires.
L'ASCII est-il identique à l'UTF-8 ?
L'ASCII est un encodage 7 bits pour l'anglais. L'UTF-8 est un encodage à longueur variable, compatible octet par octet avec l'ASCII pour les 128 premiers points de code : un fichier purement ASCII est donc également un UTF-8 valide. UTF-8 s'étend ensuite avec des séquences de 2 à 4 octets pour couvrir le reste d'Unicode.
Comment convertir un caractère entre décimal, hexadécimal et binaire ?
Choisissez une ligne pour voir les quatre représentations. Par exemple, « A » correspond au décimal 65, à l'hexadécimal 0x41, à l'octal 0101 et au binaire 01000001. La colonne « Char » contient le glyphe et la colonne « Description » donne le nom Unicode officiel.
Pourquoi cette table ne liste-t-elle pas é, ñ ou 中 ?
Ces caractères sont en dehors de la plage ASCII. é et ñ se trouvent dans Latin-1 (points de code 233 et 241) ; 中 est dans CJK Unified Ideographs (U+4E2D). Utilisez un outil de recherche Unicode pour ces caractères : l'ASCII ne va que jusqu'à 127.
Comment saisir un caractère si je ne connais que son code ASCII ?
Sous Windows, maintenez Alt et tapez le code décimal sur le pavé numérique (Alt+65 pour A). Sous macOS et Linux, copiez-collez depuis cette table ou utilisez la fonction de saisie hexadécimale de votre méthode d'entrée. En code, utilisez \xNN (hex), \NNN (octal), chr(N) (Python) ou String.fromCharCode(N) (JavaScript).