Minimalistyczne stanowisko techniczne z monitorem pokazującym tablicę ASCII, kody HEX i zapis binarny.

Tablica ASCII – kody znaków DEC, HEX, BIN i konwerter

ASCII to 7-bitowy kod znaków, który przypisuje wartościom od 0 do 127 konkretne znaki drukowalne albo funkcje sterujące.

Konwerter ASCII online

Wpisz tekst albo kody liczbowe i wybierz tryb konwersji. Narzędzie obsługuje zapis dziesiętny DEC, szesnastkowy HEX, binarny BIN i ósemkowy OCT.

Konwerter ASCII

Wybierz tryb, wpisz tekst albo kody i kliknij „Konwertuj”. Narzędzie obsługuje podstawowe ASCII, czyli zakres 0–127.

Limit: 5000 znaków tekstu albo 2000 kodów w jednej konwersji.

Zakres: podstawowe ASCII obejmuje kody od 0 do 127. Polskie znaki, emoji i większość znaków specjalnych spoza języka angielskiego wymagają Unicode albo UTF-8.

Co to jest ASCII?

ASCII, czyli American Standard Code for Information Interchange, powstał jako kod do wymiany informacji między systemami przetwarzania danych, urządzeniami komunikacyjnymi i sprzętem powiązanym. W podstawowej wersji używa 7 bitów, więc daje 128 możliwych kodów. W bajcie 8-bitowym najstarszy bit pozostaje poza samym kodem ASCII.

Zakres ASCII dzieli się na dwie główne części. Kody 0-31 oraz 127 są znakami sterującymi. Kody 32-126 są znakami drukowalnymi: spacją, cyframi, literami alfabetu łacińskiego i podstawowymi symbolami. To dlatego ASCII dobrze opisuje prosty tekst angielski, ale nie wystarcza do zapisu polskich liter.

Zakres DECTypZawartość
0-31Znaki sterująceNUL, TAB, LF, CR, ESC i inne kody kontrolne
32SpacjaPierwszy znak drukowalny
33-47SymboleMiędzy innymi !, ", #, $, %, &, (, ), *, +, przecinek i ukośnik
48-57CyfryZnaki tekstowe od 0 do 9
65-90Wielkie literyA-Z
97-122Małe literya-z
127DELHistoryczny znak usunięcia

Jak czytać kody ASCII DEC, HEX, BIN i OCT?

Ten sam kod można zapisać w różnych systemach liczbowych. Litera A ma wartość 65 w DEC, 41 w HEX, 01000001 w BIN i 101 w OCT. Zmienia się zapis liczby, nie sam znak.

ZnakDECHEXBINOCTZnaczenie
A654101000001101Wielka litera A
a976101100001141Mała litera a
048300011000060Cyfra zero jako znak tekstowy
SP32200010000040Spacja

Znaki sterujące ASCII

Znaki sterujące nie są zwykłymi literami ani symbolami. Część z nich pochodzi z czasów terminali i transmisji tekstowej, ale nadal pojawia się w plikach, protokołach, konsolach i analizie danych bajtowych.

NazwaDECHEXZnaczenie techniczne
NUL000Znak pusty; w C używany jako terminator łańcucha znaków
TAB909Tabulator poziomy
LF100ALine feed, czyli przejście do nowej linii
CR130DCarriage return; razem z LF tworzy zapis CRLF
ESC271BPoczątek sekwencji sterujących terminala
DEL1277FHistoryczny znak usunięcia

ASCII a UTF-8

UTF-8 zachowuje zgodność z ASCII w zakresie U+0000-U+007F. To znaczy, że zwykły tekst złożony tylko ze znaków ASCII ma taki sam zapis bajtowy w ASCII i UTF-8. Znak A nadal ma bajt 0x41, spacja 0x20, a znak 0 bajt 0x30.

Różnica zaczyna się poza zakresem 127. Litery ą, ę, ł, znak euro i emoji nie są znakami podstawowego ASCII. W UTF-8 są zapisywane jako sekwencje wielobajtowe, więc nie da się ich przedstawić jednym kodem ASCII.

ZnakCzy mieści się w ASCII?Uwagi
ATakDEC 65, HEX 41
7TakDEC 55, HEX 37
?TakDEC 63, HEX 3F
łNieZnak spoza podstawowego ASCII
NieZnak spoza podstawowego ASCII
🙂NieZnak Unicode, nie ASCII

Do czego przydaje się konwersja ASCII?

Konwersja ASCII jest potrzebna wtedy, gdy tekst trzeba zobaczyć jako konkretne wartości bajtowe. Dotyczy to terminali, protokołów tekstowych, plików logów, transmisji UART, debugowania ramek danych i prostego parsowania wejścia.

W języku C dobrze widać różnicę między cyfrą jako znakiem a liczbą jako wartością. Znak '5' ma kod ASCII 53, a znak '0' ma kod 48. Jeżeli program odbiera cyfrę jako znak i chce uzyskać wartość liczbową, można odjąć kod znaku zero:

char char_cyfra = '5';
int liczba = char_cyfra - '0';

Wynik to 5, ponieważ wykonywane jest odejmowanie kodów ASCII: 53 - 48 = 5. To prosty przykład, ale dokładnie na takim poziomie działa wiele parserów tekstu, komend terminalowych i obsługi danych wejściowych z portu szeregowego.

Drugi praktyczny przypadek to końce linii. Jeżeli urządzenie wysyła po UART komendę zakończoną bajtami 0D 0A, to nie są dwa widoczne znaki, tylko para CRLF. Odbiornik musi wiedzieć, czy końcem ramki jest LF, CR, CRLF, czy inny separator.

Wniosek

ASCII jest małym standardem, ale nadal przydatnym w pracy technicznej. Daje stałe mapowanie znaków na wartości 0-127, pozwala szybko rozpoznać znaki sterujące i ułatwia debugowanie tekstu. Przy każdym tekście spoza prostego alfabetu łacińskiego trzeba jednak przejść z ASCII na Unicode i konkretne kodowanie, najczęściej UTF-8.

Źródła i materiały:

guest
0 komentarzy
Najstarsze
Najnowsze Najwięcej głosów