FreeToGenerate.com

Les 128 caractères, y compris les 33 qui n’impriment rien.

128 caractères

Recherche par valeur décimale, valeur hexadécimale, caractère isolé, nom, abréviation ou l’un des noms alternatifs que donne la norme.

Quels caractères de contrôle quelque chose emploie encore

Comptés dans tous les fichiers texte de ce site, dans son HTML compilé et dans douze livres du domaine public. Quatre des trente-trois sont apparus, et deux d’entre eux deux fois.

LF · LINE FEED
434 063
CR · CARRIAGE RETURN
229 147
HT · CHARACTER TABULATION
3
BS · BACKSPACE
2

Les 29 autres ne sont pas apparus une seule fois.

Caractères de contrôle

DécHexOctBinaireCaractèreNom
00000000000000NULNULLjamais rencontré
10100100000001SOHSTART OF HEADINGjamais rencontré
20200200000010STXSTART OF TEXTjamais rencontré
30300300000011ETXEND OF TEXTjamais rencontré
40400400000100EOTEND OF TRANSMISSIONjamais rencontré
50500500000101ENQENQUIRYjamais rencontré
60600600000110ACKACKNOWLEDGEjamais rencontré
70700700000111BELALERTjamais rencontré
80801000001000BSBACKSPACE
90901100001001HTCHARACTER TABULATIONaussi HORIZONTAL TABULATION
100A01200001010LFLINE FEEDaussi NEW LINE, END OF LINE
110B01300001011VTLINE TABULATIONaussi VERTICAL TABULATIONjamais rencontré
120C01400001100FFFORM FEEDjamais rencontré
130D01500001101CRCARRIAGE RETURN
140E01600001110SOSHIFT OUTaussi LOCKING-SHIFT ONEjamais rencontré
150F01700001111SISHIFT INaussi LOCKING-SHIFT ZEROjamais rencontré
161002000010000DLEDATA LINK ESCAPEjamais rencontré
171102100010001DC1DEVICE CONTROL ONEjamais rencontré
181202200010010DC2DEVICE CONTROL TWOjamais rencontré
191302300010011DC3DEVICE CONTROL THREEjamais rencontré
201402400010100DC4DEVICE CONTROL FOURjamais rencontré
211502500010101NAKNEGATIVE ACKNOWLEDGEjamais rencontré
221602600010110SYNSYNCHRONOUS IDLEjamais rencontré
231702700010111ETBEND OF TRANSMISSION BLOCKjamais rencontré
241803000011000CANCANCELjamais rencontré
251903100011001EOMEND OF MEDIUMjamais rencontré
261A03200011010SUBSUBSTITUTEjamais rencontré
271B03300011011ESCESCAPEjamais rencontré
281C03400011100FSINFORMATION SEPARATOR FOURaussi FILE SEPARATORjamais rencontré
291D03500011101GSINFORMATION SEPARATOR THREEaussi GROUP SEPARATORjamais rencontré
301E03600011110RSINFORMATION SEPARATOR TWOaussi RECORD SEPARATORjamais rencontré
311F03700011111USINFORMATION SEPARATOR ONEaussi UNIT SEPARATORjamais rencontré
1277F17701111111DELDELETEjamais rencontré

Ponctuation et symboles

DécHexOctBinaireCaractèreNom
322004000100000SPACE
332104100100001!EXCLAMATION MARK
342204200100010"QUOTATION MARK
352304300100011#NUMBER SIGN
362404400100100$DOLLAR SIGN
372504500100101%PERCENT SIGN
382604600100110&AMPERSAND
392704700100111'APOSTROPHE
402805000101000(LEFT PARENTHESIS
412905100101001)RIGHT PARENTHESIS
422A05200101010*ASTERISK
432B05300101011+PLUS SIGN
442C05400101100,COMMA
452D05500101101-HYPHEN-MINUS
462E05600101110.FULL STOP
472F05700101111/SOLIDUS
583A07200111010:COLON
593B07300111011;SEMICOLON
603C07400111100<LESS-THAN SIGN
613D07500111101=EQUALS SIGN
623E07600111110>GREATER-THAN SIGN
633F07700111111?QUESTION MARK
644010001000000@COMMERCIAL AT
915B13301011011[LEFT SQUARE BRACKET
925C13401011100\REVERSE SOLIDUS
935D13501011101]RIGHT SQUARE BRACKET
945E13601011110^CIRCUMFLEX ACCENT
955F13701011111_LOW LINE
966014001100000`GRAVE ACCENT
1237B17301111011{LEFT CURLY BRACKET
1247C17401111100|VERTICAL LINE
1257D17501111101}RIGHT CURLY BRACKET
1267E17601111110~TILDE

L’espace est le seul caractère imprimable doté d’une abréviation officielle, SP : il ne dessine rien, aussi la norme lui donne-t-elle une forme courte comme aux caractères de contrôle.

Chiffres

DécHexOctBinaireCaractèreNom
4830060001100000DIGIT ZERO
4931061001100011DIGIT ONE
5032062001100102DIGIT TWO
5133063001100113DIGIT THREE
5234064001101004DIGIT FOUR
5335065001101015DIGIT FIVE
5436066001101106DIGIT SIX
5537067001101117DIGIT SEVEN
5638070001110008DIGIT EIGHT
5739071001110019DIGIT NINE

Lettres majuscules

DécHexOctBinaireCaractèreNom
654110101000001ALATIN CAPITAL LETTER A
664210201000010BLATIN CAPITAL LETTER B
674310301000011CLATIN CAPITAL LETTER C
684410401000100DLATIN CAPITAL LETTER D
694510501000101ELATIN CAPITAL LETTER E
704610601000110FLATIN CAPITAL LETTER F
714710701000111GLATIN CAPITAL LETTER G
724811001001000HLATIN CAPITAL LETTER H
734911101001001ILATIN CAPITAL LETTER I
744A11201001010JLATIN CAPITAL LETTER J
754B11301001011KLATIN CAPITAL LETTER K
764C11401001100LLATIN CAPITAL LETTER L
774D11501001101MLATIN CAPITAL LETTER M
784E11601001110NLATIN CAPITAL LETTER N
794F11701001111OLATIN CAPITAL LETTER O
805012001010000PLATIN CAPITAL LETTER P
815112101010001QLATIN CAPITAL LETTER Q
825212201010010RLATIN CAPITAL LETTER R
835312301010011SLATIN CAPITAL LETTER S
845412401010100TLATIN CAPITAL LETTER T
855512501010101ULATIN CAPITAL LETTER U
865612601010110VLATIN CAPITAL LETTER V
875712701010111WLATIN CAPITAL LETTER W
885813001011000XLATIN CAPITAL LETTER X
895913101011001YLATIN CAPITAL LETTER Y
905A13201011010ZLATIN CAPITAL LETTER Z

Lettres minuscules

DécHexOctBinaireCaractèreNom
976114101100001aLATIN SMALL LETTER A
986214201100010bLATIN SMALL LETTER B
996314301100011cLATIN SMALL LETTER C
1006414401100100dLATIN SMALL LETTER D
1016514501100101eLATIN SMALL LETTER E
1026614601100110fLATIN SMALL LETTER F
1036714701100111gLATIN SMALL LETTER G
1046815001101000hLATIN SMALL LETTER H
1056915101101001iLATIN SMALL LETTER I
1066A15201101010jLATIN SMALL LETTER J
1076B15301101011kLATIN SMALL LETTER K
1086C15401101100lLATIN SMALL LETTER L
1096D15501101101mLATIN SMALL LETTER M
1106E15601101110nLATIN SMALL LETTER N
1116F15701101111oLATIN SMALL LETTER O
1127016001110000pLATIN SMALL LETTER P
1137116101110001qLATIN SMALL LETTER Q
1147216201110010rLATIN SMALL LETTER R
1157316301110011sLATIN SMALL LETTER S
1167416401110100tLATIN SMALL LETTER T
1177516501110101uLATIN SMALL LETTER U
1187616601110110vLATIN SMALL LETTER V
1197716701110111wLATIN SMALL LETTER W
1207817001111000xLATIN SMALL LETTER X
1217917101111001yLATIN SMALL LETTER Y
1227A17201111010zLATIN SMALL LETTER Z

128 · 95 + 33

Aussi disponible en : English · Español · Português · العربية

Table ASCII

Tous les caractères ASCII en décimal, hexadécimal, octal et binaire, et un décompte des caractères de contrôle que quelque chose emploie encore.

Qu’est-ce que la table ASCII ?

L’ASCII attribue un nombre de 0 à 127 à chacun de 128 caractères. Quatre-vingt-quinze sont imprimables : l’espace, les chiffres, les deux alphabets et la ponctuation d’un clavier américain. Les trente-trois autres n’impriment rien du tout. Ce sont les caractères de contrôle, et ils forment la moitié de la table que toutes les références énumèrent et que personne n’explique.

Le partage n’est pas affaire d’appréciation. Dans la base de données des caractères Unicode, ces trente-trois portent le nom littéral <control> et leurs vrais noms résident dans un fichier d’alias distinct. Cette page est générée à partir des deux : les noms, les abréviations et les noms alternatifs sont donc ceux de la norme et non ceux de la mémoire de quelqu’un.

Tout le reste, sur un ordinateur moderne, est bâti par-dessus. L’UTF-8 a été conçu pour que ses 128 premiers points de code soient exactement l’ASCII, octet pour octet : c’est pourquoi un fichier texte en anglais est à la fois de l’ASCII valide et de l’UTF-8 valide, et l’est depuis des décennies.

Comment utiliser la table

  1. Cherchez comme cela vous vient. Tapez 65, ou 0x41, ou la lettre A elle-même, ou carriage, ou ESC. Valeurs décimales, valeurs hexadécimales, caractères isolés, noms, abréviations et noms alternatifs : tout correspond.
  2. Lisez la ligne jusqu’à l’encodage qu’il vous faut. Chaque ligne porte le décimal, l’hexadécimal, l’octal et le binaire sur huit bits, complétés par des zéros pour que les colonnes s’alignent une fois copiées. Le bouton de copie donne le caractère ; pour les contrôles, qui n’en ont pas, il donne l’échappement hexadécimal.
  3. Regardez d’abord la section des caractères de contrôle. C’est la partie aux chiffres surprenants, et elle explique pourquoi une fin de ligne Windows fait deux octets plutôt qu’un.

Quatre des trente-trois caractères de contrôle servent encore

L’usage veut qu’on décrive les caractères de contrôle par une liste de noms sans dire lesquels comptent. Compter est plus utile, alors nous avons compté. Sur 9 760 fichiers texte et 127 721 432 caractères — ce site entier, son HTML compilé et douze livres du domaine public — exactement quatre des trente-trois apparaissent.

Le saut de ligne apparaît 434 063 fois et le retour chariot 229 147. La tabulation sort trois fois et le retour arrière deux, dans les deux cas au sein de textes qui en parlent. Les vingt-neuf autres ne sortent pas une seule fois : ni NUL, ni la sonnerie, ni l’échappement, ni la suppression, ni aucun des dix contrôles de transmission, ni les quatre contrôles de périphérique, ni les quatre séparateurs d’information.

C’est qu’il s’agissait d’instructions destinées à une machine qui n’existe plus. Un téléscripteur était une machine à écrire au bout d’un fil, et les codes lui disaient quoi faire physiquement : sonne, perfore la bande, cesse de lire, mets-toi à l’écoute. Deux ont survécu parce que deux déplaçaient du papier. Le retour chariot ramenait le chariot à la marge de gauche ; le saut de ligne faisait tourner le rouleau d’une ligne. Un téléscripteur avait besoin des deux pour commencer une nouvelle ligne, et voilà pourquoi une fin de ligne Windows fait toujours deux octets et pourquoi déplacer un fichier d’un système à l’autre peut encore l’abîmer.

Les séparateurs d’information sont le cas le plus triste. L’ASCII contient quatre caractères — séparateurs de fichier, de groupe, d’enregistrement et d’unité — prévus précisément pour le travail que le CSV fait mal, sans aucun des problèmes de guillemets et d’échappements qui font de l’analyse d’un CSV un champ de mines. Ils occupent 0x1C à 0x1F depuis 1963 et quasiment rien ne les emploie.

La norme ne s’accorde pas non plus avec elle-même

Neuf caractères ASCII portent plus d’un nom officiel, et la table les montre tous. Le plus lourd de conséquences est 0x0A, que la base Unicode inscrit comme LINE FEED, NEW LINE et END OF LINE. Trois noms dans un même fichier pour le caractère dont personne ne s’accorde sur l’usage : voilà un bon résumé du désordre des fins de ligne, puisque la norme elle-même n’a jamais tranché entre faire avancer le papier et terminer la ligne.

La tabulation est CHARACTER TABULATION et aussi HORIZONTAL TABULATION ; 0x0B est LINE TABULATION et aussi VERTICAL TABULATION. Shift out et shift in sont en outre LOCKING-SHIFT ONE et LOCKING-SHIFT ZERO, hérités d’un mécanisme de bascule entre jeux de caractères que presque personne ne croise plus.

Un cas limite mérite d’être connu. L’espace est imprimable — la base le nomme SPACE, non <control> — et pourtant c’est le seul caractère imprimable doté d’une abréviation officielle, SP, parce qu’il ne dessine rien de visible et qu’une table doit bien afficher quelque chose. C’est pour cela qu’il figure ici avec la ponctuation.

Limites honnêtes

Le décompte d’usage mesure un corpus, il n’énonce pas une loi. Ce site est du TypeScript, du HTML et de la prose anglaise : il en dit long sur l’allure du code web moderne et rien sur ce qu’émet un protocole série ou un terminal de point de vente. Les logiciels qui parlent à une imprimante, à un lecteur de codes-barres ou à un mainframe emploient sans aucun doute ces codes — c’est là que survivent les contrôles de périphérique et de transmission. Ce que le chiffre établit, c’est qu’ils ont disparu du texte ordinaire.

L’ASCII n’est par ailleurs que les 128 premiers points de code. Tout ce qui est accentué, tout ce qui relève d’une autre écriture, l’ensemble des émojis et l’immense majorité de la ponctuation d’un document réel en sortent. Si un caractère n’est pas sur cette page, l’ASCII n’a tout simplement pas de nombre pour lui et c’est l’UTF-8 qu’il vous faut — lequel commence par coïncider exactement avec cette table, puis continue.

Enfin, le caractère d’échappement mérite une mention. Il n’apparaît pas dans notre corpus mais il est loin d’être mort : c’est lui qui ouvre les séquences d’échappement de terminal qui colorent tous les outils en ligne de commande. Il ne figure pas dans le texte stocké parce qu’il appartient au fil entre un programme et un terminal, non aux fichiers.

Pourquoi est-ce gratuit ?

Parce que c’est une table de faits publics. La page est du texte statique avec un champ de recherche qui la filtre dans votre navigateur : rien n’est envoyé, rien n’est conservé, et aucun serveur n’intervient pour la lire.

Il n’y a donc ni compte, ni inscription, ni rien de réservé. Les données de base sont la base de caractères Unicode, que chacun peut télécharger, et le script qui en tire cette page se trouve dans le dépôt à côté d’elle.