Przejdź do treści

Tabela ASCII

ASCII przypisuje numer 128 znakom — cyfrom, nieakcentowanym literom łacińskim, powszechnym znakom interpunkcyjnym i 33 kodom sterującym, które nigdy nie miały być drukowane. Każdy z nich znajduje się poniżej w zapisie dziesiętnym, szesnastkowym, ósemkowym i binarnym, wraz z numerem encji HTML.

Pierwsze 32 kody i ostatni to znaki sterujące. Większość ma charakter historyczny, z czasów dalekopisów i taśmy papierowej, ale kilka z nich wciąż obsługuje wszystko, co wpisujesz: 9 to Tab, 10 to znak nowej linii w Uniksie, 13 to powrót karetki, który Windows łączy z nim w parę, a 27 rozpoczyna każdą sekwencję sterującą ANSI, której terminal używa do kolorów.

ASCII to pierwsze 128 punktów kodowych Unicode, bez zmian, dlatego wciąż jest wspólnym mianownikiem niemal każdego używanego kodowania. UTF-8 zaprojektowano tak, aby każdy plik czysto ASCII był już poprawnym UTF-8, bajt po bajcie.

Kody sterujące

0–31, 127
DziesiętnieSzesnastkowoÓsemkowoBinarnieZnakHTMLNazwa
00000000000000NUL�NullTerminator ciągu znaków w języku C. Nie jest znakiem drukowalnym.
10100100000001SOHPoczątek nagłówkaHistoryczny; obejmował nagłówek bloku transmisji.
20200200000010STXPoczątek tekstuHistoryczny; oznaczał miejsce, w którym zaczynała się treść wiadomości.
30300300000011ETXKoniec tekstuWysyłany przez Ctrl+C, dlatego ten skrót przerywa program.
40400400000100EOTKoniec transmisjiWysyłany przez Ctrl+D; zamyka stdin w powłoce Uniksa.
50500500000101ENQZapytanieHistoryczny; prosił drugą stronę o identyfikację.
60600600000110ACKPotwierdzenieOdpowiedź pozytywna w starszych protokołach szeregowych.
70700700000111BELDzwonekUruchamia dzwonek terminala. Zapisywany jako \a w języku C.
80801000001000BSBackspaceCofa kursor o jedną kolumnę. Zapisywany jako \b.
90901100001001HT	Tabulacja poziomaKlawisz Tab. Zapisywany jako \t.
100A01200001010LF
Wysuw wierszaZnak nowej linii w Uniksie. Zapisywany jako \n.
110B01300001011VTTabulacja pionowaRzadki; przechodzi do następnej pionowej pozycji tabulacji. Zapisywany jako \v.
120C01400001100FFWysuw stronyPodział strony dla drukarek. Zapisywany jako \f.
130D01500001101CR
Powrót karetkiWraca do pierwszej kolumny. W Windows łączony w parę z LF. Zapisywany jako \r.
140E01600001110SOShift OutHistoryczny; przełączał na alternatywny zestaw znaków.
150F01700001111SIShift InHistoryczny; przełączał z powrotem na standardowy zestaw.
161002000010000DLEData Link EscapeHistoryczny; sprawiał, że kolejne bajty stawały się danymi sterującymi.
171102100010001DC1Sterowanie urządzeniem 1XON — wznawia wstrzymaną transmisję. Wysyłany przez Ctrl+Q.
181202200010010DC2Sterowanie urządzeniem 2Historyczne sterowanie urządzeniem.
191302300010011DC3Sterowanie urządzeniem 3XOFF — wstrzymuje transmisję. Wysyłany przez Ctrl+S.
201402400010100DC4Sterowanie urządzeniem 4Historyczne sterowanie urządzeniem.
211502500010101NAKPotwierdzenie negatywneOdpowiedź negatywna w starszych protokołach szeregowych.
221602600010110SYNBezczynność synchronicznaWypełniał ciszę na łączach synchronicznych.
231702700010111ETBKoniec bloku transmisjiHistoryczny; kończył jeden blok dłuższej wiadomości.
241803000011000CANAnulowanieOdrzuca dane wysłane przed nim.
251903100011001EMKoniec nośnikaOznaczał fizyczny koniec taśmy lub talii kart.
261A03200011010SUBZastąpienieZnacznik końca pliku w DOS i CP/M. Wysyłany przez Ctrl+Z.
271B03300011011ESCEscapeRozpoczyna sekwencję sterującą ANSI — kolory terminala i ruchy kursora.
281C03400011100FSSeparator plikówNajgrubszy z czterech separatorów danych.
291D03500011101GSSeparator grupOddziela grupy w obrębie pliku.
301E03600011110RSSeparator rekordówOddziela rekordy w obrębie grupy.
311F03700011111USSeparator jednostekNajdrobniejszy separator; czasami używany jako ogranicznik pól.
1277F17701111111DELDeleteWszystkie bity wybite na taśmie papierowej, dlatego znajduje się na samej górze.

Spacja

32
DziesiętnieSzesnastkowoÓsemkowoBinarnieZnakHTMLNazwa
322004000100000  Spacja

Interpunkcja i symbole

33–47, 58–64, 91–96, 123–126
DziesiętnieSzesnastkowoÓsemkowoBinarnieZnakHTMLNazwa
332104100100001!!Wykrzyknik
342204200100010""Cudzysłów
352304300100011##Krzyżyk
362404400100100$$Znak dolara
372504500100101%%Znak procentu
382604600100110&&Ampersand
392704700100111''Apostrof
402805000101000((Lewy nawias okrągły
412905100101001))Prawy nawias okrągły
422A05200101010**Gwiazdka
432B05300101011++Znak plus
442C05400101100,,Przecinek
452D05500101101--Łącznik-minus
462E05600101110..Kropka
472F05700101111//Ukośnik
583A07200111010::Dwukropek
593B07300111011;&#59;Średnik
603C07400111100<&#60;Znak mniejszości
613D07500111101=&#61;Znak równości
623E07600111110>&#62;Znak większości
633F07700111111?&#63;Znak zapytania
644010001000000@&#64;Małpa
915B13301011011[&#91;Lewy nawias kwadratowy
925C13401011100\&#92;Odwrotny ukośnik
935D13501011101]&#93;Prawy nawias kwadratowy
945E13601011110^&#94;Akcent daszkowy
955F13701011111_&#95;Znak podkreślenia
966014001100000`&#96;Akcent grawis
1237B17301111011{&#123;Lewy nawias klamrowy
1247C17401111100|&#124;Kreska pionowa
1257D17501111101}&#125;Prawy nawias klamrowy
1267E17601111110~&#126;Tylda

Cyfry

48–57
DziesiętnieSzesnastkowoÓsemkowoBinarnieZnakHTMLNazwa
4830060001100000&#48;Cyfra 0
4931061001100011&#49;Cyfra 1
5032062001100102&#50;Cyfra 2
5133063001100113&#51;Cyfra 3
5234064001101004&#52;Cyfra 4
5335065001101015&#53;Cyfra 5
5436066001101106&#54;Cyfra 6
5537067001101117&#55;Cyfra 7
5638070001110008&#56;Cyfra 8
5739071001110019&#57;Cyfra 9

Litery

65–90, 97–122
DziesiętnieSzesnastkowoÓsemkowoBinarnieZnakHTMLNazwa
654110101000001A&#65;Wielka litera A
664210201000010B&#66;Wielka litera B
674310301000011C&#67;Wielka litera C
684410401000100D&#68;Wielka litera D
694510501000101E&#69;Wielka litera E
704610601000110F&#70;Wielka litera F
714710701000111G&#71;Wielka litera G
724811001001000H&#72;Wielka litera H
734911101001001I&#73;Wielka litera I
744A11201001010J&#74;Wielka litera J
754B11301001011K&#75;Wielka litera K
764C11401001100L&#76;Wielka litera L
774D11501001101M&#77;Wielka litera M
784E11601001110N&#78;Wielka litera N
794F11701001111O&#79;Wielka litera O
805012001010000P&#80;Wielka litera P
815112101010001Q&#81;Wielka litera Q
825212201010010R&#82;Wielka litera R
835312301010011S&#83;Wielka litera S
845412401010100T&#84;Wielka litera T
855512501010101U&#85;Wielka litera U
865612601010110V&#86;Wielka litera V
875712701010111W&#87;Wielka litera W
885813001011000X&#88;Wielka litera X
895913101011001Y&#89;Wielka litera Y
905A13201011010Z&#90;Wielka litera Z
976114101100001a&#97;Mała litera a
986214201100010b&#98;Mała litera b
996314301100011c&#99;Mała litera c
1006414401100100d&#100;Mała litera d
1016514501100101e&#101;Mała litera e
1026614601100110f&#102;Mała litera f
1036714701100111g&#103;Mała litera g
1046815001101000h&#104;Mała litera h
1056915101101001i&#105;Mała litera i
1066A15201101010j&#106;Mała litera j
1076B15301101011k&#107;Mała litera k
1086C15401101100l&#108;Mała litera l
1096D15501101101m&#109;Mała litera m
1106E15601101110n&#110;Mała litera n
1116F15701101111o&#111;Mała litera o
1127016001110000p&#112;Mała litera p
1137116101110001q&#113;Mała litera q
1147216201110010r&#114;Mała litera r
1157316301110011s&#115;Mała litera s
1167416401110100t&#116;Mała litera t
1177516501110101u&#117;Mała litera u
1187616601110110v&#118;Mała litera v
1197716701110111w&#119;Mała litera w
1207817001111000x&#120;Mała litera x
1217917101111001y&#121;Mała litera y
1227A17201111010z&#122;Mała litera z

Częste pytania

Jaka jest różnica między ASCII a UTF-8?
ASCII definiuje 128 znaków, ponumerowanych od 0 do 127. UTF-8 to kodowanie całego Unicode — ponad 150 000 znaków — a te pierwsze 128 koduje jako pojedyncze bajty o dokładnie tych samych wartościach co ASCII. Dlatego każdy plik ASCII jest poprawnym plikiem UTF-8, ale odwrotność zachodzi tylko wtedy, gdy tekst pozostaje w obrębie tych 128 znaków.
Dlaczego tabela kończy się na 127?
ASCII to standard 7-bitowy, a 2⁷ to 128. Kody 128–255 nie należą do ASCII: należą do tego rozszerzenia 8-bitowego, które jest akurat w użyciu — Windows-1252, ISO-8859-1 i innych — co jest właśnie powodem, dla którego są ze sobą niezgodne i dlaczego tekst z akcentami tak często dociera zniekształcony.
Jaki jest kod ASCII spacji?
Dziesiętnie 32, szesnastkowo 20. To znak drukowalny, mimo że wygląda jak nic, dlatego znajduje się poza zakresem znaków sterujących, który kończy się na 31.
Dlaczego DEL jest pod numerem 127, a nie 0?
Taśma papierowa. Usunięcie znaku oznaczało wybicie wszystkich otworów na jego pozycji, a wszystkie siedem wybitych bitów to 127. Usuniętego znaku nie dało się przywrócić, skąd też pochodzi jego współczesne znaczenie.
Jaka jest różnica między CR a LF?
CR (13) przesuwa głowicę drukującą do pierwszej kolumny; LF (10) przechodzi o jedną linię niżej. Unix i macOS kończą linie samym LF, Windows używa CR, po którym następuje LF, i ta niezgodność jest powodem, dla którego plik może wyświetlać się jako jedna długa linia albo z przypadkowymi znakami ^M.