bitlvl
IT

Tabella ASCII

Cerca per carattere, numero o nome. I caratteri di controllo mostrano il tasto Ctrl che li invia, il che spiega perché Ctrl-C è 3 e Ctrl-D è 4.

 
 
DecHexOttBinarioCarattereNomeCtrlHTMLURL
00000000000000NULNullo^@�%00
10100100000001SOHInizio intestazione^A%01
20200200000010STXInizio testo^B%02
30300300000011ETXFine testo (Ctrl-C)^C%03
40400400000100EOTFine trasmissione (Ctrl-D)^D%04
50500500000101ENQRichiesta^E%05
60600600000110ACKConferma^F%06
70700700000111BELCampanello / avviso (\a)^G%07
80801000001000BSBackspace (\b)^H%08
90901100001001HTTabulazione orizzontale (\t)^I	%09
100A01200001010LFAvanzamento riga, a capo (\n)^J
%0A
110B01300001011VTTabulazione verticale (\v)^K%0B
120C01400001100FFAvanzamento pagina (\f)^L%0C
130D01500001101CRRitorno carrello (\r)^M
%0D
140E01600001110SOShift out^N%0E
150F01700001111SIShift in^O%0F
161002000010000DLEEscape di collegamento dati^P%10
171102100010001DC1Controllo dispositivo 1 (XON, Ctrl-Q)^Q%11
181202200010010DC2Controllo dispositivo 2^R%12
191302300010011DC3Controllo dispositivo 3 (XOFF, Ctrl-S)^S%13
201402400010100DC4Controllo dispositivo 4^T%14
211502500010101NAKConferma negativa^U%15
221602600010110SYNInattività sincrona^V%16
231702700010111ETBFine blocco di trasmissione^W%17
241803000011000CANAnnulla^X%18
251903100011001EMFine supporto^Y%19
261A03200011010SUBSostituto (Ctrl-Z, EOF in DOS)^Z%1A
271B03300011011ESCEscape (\e, inizia le sequenze di terminale)^[%1B
281C03400011100FSSeparatore di file^\%1C
291D03500011101GSSeparatore di gruppo^]%1D
301E03600011110RSSeparatore di record^^%1E
311F03700011111USSeparatore di unità^_%1F
322004000100000 Spazio %20
332104100100001!Punto esclamativo!%21
342204200100010"Virgolette doppie"%22
352304300100011#Cancelletto#%23
362404400100100$Dollaro$%24
372504500100101%Percento%%25
382604600100110&E commerciale&%26
392704700100111'Apostrofo, apice singolo'%27
402805000101000(Parentesi tonda aperta(%28
412905100101001)Parentesi tonda chiusa)%29
422A05200101010*Asterisco*%2A
432B05300101011+Più+%2B
442C05400101100,Virgola,%2C
452D05500101101-Trattino-meno-%2D
462E05600101110.Punto.%2E
472F05700101111/Barra/%2F
4830060001100000Cifra 00%30
4931061001100011Cifra 11%31
5032062001100102Cifra 22%32
5133063001100113Cifra 33%33
5234064001101004Cifra 44%34
5335065001101015Cifra 55%35
5436066001101106Cifra 66%36
5537067001101117Cifra 77%37
5638070001110008Cifra 88%38
5739071001110019Cifra 99%39
583A07200111010:Due punti:%3A
593B07300111011;Punto e virgola&#59;%3B
603C07400111100<Minore di&lt;%3C
613D07500111101=Uguale&#61;%3D
623E07600111110>Maggiore di&gt;%3E
633F07700111111?Punto interrogativo&#63;%3F
644010001000000@Chiocciola&#64;%40
654110101000001AMaiuscola A&#65;%41
664210201000010BMaiuscola B&#66;%42
674310301000011CMaiuscola C&#67;%43
684410401000100DMaiuscola D&#68;%44
694510501000101EMaiuscola E&#69;%45
704610601000110FMaiuscola F&#70;%46
714710701000111GMaiuscola G&#71;%47
724811001001000HMaiuscola H&#72;%48
734911101001001IMaiuscola I&#73;%49
744A11201001010JMaiuscola J&#74;%4A
754B11301001011KMaiuscola K&#75;%4B
764C11401001100LMaiuscola L&#76;%4C
774D11501001101MMaiuscola M&#77;%4D
784E11601001110NMaiuscola N&#78;%4E
794F11701001111OMaiuscola O&#79;%4F
805012001010000PMaiuscola P&#80;%50
815112101010001QMaiuscola Q&#81;%51
825212201010010RMaiuscola R&#82;%52
835312301010011SMaiuscola S&#83;%53
845412401010100TMaiuscola T&#84;%54
855512501010101UMaiuscola U&#85;%55
865612601010110VMaiuscola V&#86;%56
875712701010111WMaiuscola W&#87;%57
885813001011000XMaiuscola X&#88;%58
895913101011001YMaiuscola Y&#89;%59
905A13201011010ZMaiuscola Z&#90;%5A
915B13301011011[Parentesi quadra aperta&#91;%5B
925C13401011100\Barra rovesciata&#92;%5C
935D13501011101]Parentesi quadra chiusa&#93;%5D
945E13601011110^Accento circonflesso&#94;%5E
955F13701011111_Trattino basso&#95;%5F
966014001100000`Accento grave&#96;%60
976114101100001aMinuscola a&#97;%61
986214201100010bMinuscola b&#98;%62
996314301100011cMinuscola c&#99;%63
1006414401100100dMinuscola d&#100;%64
1016514501100101eMinuscola e&#101;%65
1026614601100110fMinuscola f&#102;%66
1036714701100111gMinuscola g&#103;%67
1046815001101000hMinuscola h&#104;%68
1056915101101001iMinuscola i&#105;%69
1066A15201101010jMinuscola j&#106;%6A
1076B15301101011kMinuscola k&#107;%6B
1086C15401101100lMinuscola l&#108;%6C
1096D15501101101mMinuscola m&#109;%6D
1106E15601101110nMinuscola n&#110;%6E
1116F15701101111oMinuscola o&#111;%6F
1127016001110000pMinuscola p&#112;%70
1137116101110001qMinuscola q&#113;%71
1147216201110010rMinuscola r&#114;%72
1157316301110011sMinuscola s&#115;%73
1167416401110100tMinuscola t&#116;%74
1177516501110101uMinuscola u&#117;%75
1187616601110110vMinuscola v&#118;%76
1197716701110111wMinuscola w&#119;%77
1207817001111000xMinuscola x&#120;%78
1217917101111001yMinuscola y&#121;%79
1227A17201111010zMinuscola z&#122;%7A
1237B17301111011{Parentesi graffa aperta&#123;%7B
1247C17401111100|Barra verticale&#124;%7C
1257D17501111101}Parentesi graffa chiusa&#125;%7D
1267E17601111110~Tilde&#126;%7E
1277F17701111111DELCancella (DEL)^?&#127;%7F

I risultati e i messaggi di questo strumento sono mostrati in inglese.

La struttura di ASCII

ASCII (1963, rivisto nel 1967) è un codice a 7 bit: 128 valori, di cui 33 sono caratteri di controllo e 95 stampabili. La sua disposizione fu progettata per telescriventi meccaniche e hardware che manipolava bit, e il progetto si vede ancora:

  • Le maiuscole sono un bit. A è 0x41, a è 0x61: differiscono solo nel bit 5 (valore 32). c | 0x20 rende minuscola una lettera, c & ~0x20 maiuscola e c ^ 0x20 la alterna.
  • Le cifre sono il loro valore più 48. '7' - '0' fa 7, e il nibble basso del codice di una cifra è la cifra stessa (0x37 → 7).
  • Ctrl azzera due bit. Ctrl-C invia 0x03 perché C è 0x43 e il terminale azzera i bit 6 e 5 (c & 0x1F). Per questo Ctrl-D è EOT (4), Ctrl-H è backspace (8), Ctrl-I è tab (9), Ctrl-M è ritorno carrello (13), Ctrl-[ è Escape (27) e Ctrl-@ è NUL.
  • DEL è 127, tutti e sette i bit a uno, perché perforare tutti i fori su un nastro di carta era il modo per cancellare un carattere.

Oltre 127

Non esiste un «ASCII esteso». I byte 128–255 significavano caratteri diversi in ogni code page (Latin-1, Windows-1252, CP437, KOI8-R, ISO-8859-2 per l’Europa centrale), che è l’origine dei caratteri corrotti come «Ã©» al posto di «é». Unicode le ha sostituite tutte; UTF-8 mantiene i byte 0–127 identici ad ASCII e usa da 2 a 4 byte oltre. L’ispettore Unicode mostra quei byte.

Fine riga

Unix termina le righe con LF (10); Windows con CR LF (13 10); il Mac OS classico usava solo CR. Le telescriventi avevano bisogno di entrambi: il ritorno carrello per riportare la testina e l’avanzamento riga per far scorrere la carta. \r\n nella riga shebang di uno script di shell è ancora la causa più comune degli errori «bad interpreter».

Domande

Qual è il codice ASCII della A?

65 in decimale, 0x41 in hex, 0101 in ottale, 01000001 in binario. La a minuscola è 97 (0x61).

Cosa sono ASCII 10 e 13?

10 è LF (line feed, \n) e 13 è CR (ritorno carrello, \r). Unix usa solo LF; Windows usa CR LF.

Perché Ctrl-C invia 3?

I terminali azzerano i due bit alti del codice della lettera: C è 0x43 = 0100 0011, e 0x43 & 0x1F = 3 (ETX, fine testo). La shell associa ETX a SIGINT.

0xFF o 255 è ASCII?

No. ASCII finisce a 127. 128–255 dipendono dalla code page, e in UTF-8 quei valori di byte compaiono solo come parti di caratteri multibyte.