Podgląd tablicy ASCII
Przeglądaj pełną tablicę ASCII (0-127) i rozszerzone (128-255). Konwertuj znaki na kod dziesiętny, HEX, oktalny i binarny. Znajdź znak po opisie. Bezpłatnie.
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
+--------+-----------+-------+ | Name | Role | Level | +--------+-----------+-------+ | Alicia | Developer | 3 | | Bruno | Support | 2 | | Chen | Analyst | 4 | | Daria | Admin | 5 | +--------+-----------+-------+
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćPodgląd tablicy ASCII – każdy znak z kodem DEC, HEX i BIN
ASCII (American Standard Code for Information Interchange) definiuje 128 znaków dla pierwszych 7 bitów bajtu. Narzędzie wyświetla pełną tablicę ASCII z kodami w czterech formatach (dziesiętny, szesnastkowy, ósemkowy, binarny) i obsługuje też rozszerzony ASCII (Latin-1, CP1250).
Zakresy znaków ASCII
0-31: znaki kontrolne (niedrukowane). 0=NUL, 7=BEL, 8=BS, 9=TAB, 10=LF (nowa linia Unix), 13=CR (nowa linia Windows), 27=ESC, 32=SP (spacja). 32-126: znaki drukowalne (litery, cyfry, znaki specjalne). 33=!, 48-57=0-9, 65-90=A-Z, 97-122=a-z, 127=DEL.
Rozszerzony ASCII (128-255)
Standardowy ASCII 7-bit: 0-127. Rozszerzony (8-bit): 128-255 – definiowany przez strony kodowe: Latin-1 (ISO-8859-1): 128-255 = znaki zachodnioeuropejskie. CP1252 (Windows): podobny. Latin-2 (ISO-8859-2): Polska, Czechy, Słowacja. CP1250 (Windows PL). Unicode (UTF-8): zastępuje wszystkie strony kodowe.
Konwersja znaków
Znak "A" → DEC 65, HEX 41, OCT 101, BIN 01000001. Znak "a" → DEC 97, HEX 61, OCT 141, BIN 01100001. Różnica między małą i wielką literą: bit 5 (32 = 0x20). A=65=0x41, a=97=0x61. Toggle case: XOR z 0x20. Polish "ą" w CP1250: 0xB9=185, w UTF-8: 2 bajty C4 85.
Zastosowania tablicy ASCII
Debugowanie binarnych protokołów. Konwersja znaków dla formatów danych. Escape sequences: \n=10, \t=9, \r=13 w C/PHP/Python. Kontrola formularzy: sprawdzenie czy wejście zawiera tylko ASCII (no non-ASCII). Kryptografia: Caesar cipher (przesunięcie kodów ASCII).
Jak działa podgląd tablicy ASCII – mechanizm krok po kroku
Narzędzie przechodzi przez kolejne wartości liczbowe od 0 do 255 i dla każdej z nich wyświetla cztery reprezentacje tego samego bajtu: dziesiętną, szesnastkową, ósemkową i binarną. Wartość siedmiobitowa powstaje z sumy wag bitów: 64 + 32 + 16 + 8 + 4 + 2 + 1, co daje najwyższy kod 127. Każdy bit wnosi swoją wagę, więc zapis binarny nie jest osobnym źródłem danych, tylko innym sposobem przedstawienia tej samej liczby. Dla wartości 32 wygląda to tak: 0x20 w szesnastkowym, 40 w ósemkowym i 00100000 binarnie.
Przypisanie konkretnego znaku do wartości nie wynika z arytmetyki, lecz z tablicy kodowania. Zakres 0–127 jest stały i wspólny dla ASCII, Latin-1, CP1250 oraz UTF-8 – pozycja 65 to zawsze wielka litera A, a 10 to znak nowej linii. Dopiero powyżej 127 tabela przestaje być jednoznaczna: ten sam bajt oznacza inny znak w zależności od strony kodowej, dlatego podgląd pokazuje warianty rozszerzone obok siebie, zamiast wybierać jeden z nich za użytkownika.
Warto pamiętać, że tabela indeksuje bajty, a nie znaki. Jeden znak w UTF-8 może zajmować kilka bajtów, więc w podglądzie zobaczymy wtedy kilka kolejnych pozycji, a nie jedną. Narzędzie pomaga ustalić, co siedzi w danych, ale decyzję o kodowaniu zawsze podejmuje człowiek – ono jej nie zgaduje.
Przykład: co naprawdę oznacza bajt 0xB9
- Odczytujemy bajt z pliku lub logu – w zapisie szesnastkowym ma postać 0xB9.
- Przeliczamy go na dziesiętny: 11 razy 16 plus 9, czyli 176 + 9 = 185.
- Sprawdzamy zakres: 185 jest większe od 127, więc bajt leży w rozszerzonej części tablicy 128–255 i nie da się go zinterpretować samym ASCII.
- Zakładamy stronę kodową CP1250 (Windows, Polska) – na tej pozycji tablicy znajduje się litera ą.
- Ten sam bajt w Latin-1 odpowiada zupełnie innemu znakowi, bo obie strony kodowe obsadzają zakres 128–255 niezależnie od siebie. Wniosek: bez znajomości kodowania liczba 185 nic nie mówi o treści.
- Dla porównania sprawdzamy zapis UTF-8: litera ą to dwa bajty C4 85. Bajt C4 ma wartość 196, a 85 ma wartość 133, więc para wykracza poza zakres jednego bajtu i musi być dekodowana łącznie – dopiero wtedy odtwarzamy właściwy znak. To pokazuje różnicę między kodowaniem jednobajtowym a wielobajtowym.
Tabela referencyjna: cztery zapisy tych samych kodów
| Znak / znaczenie | DEC | HEX | BIN |
|---|---|---|---|
| SP (spacja) | 32 | 0x20 | 00100000 |
| ! (wykrzyknik) | 33 | 0x21 | 00100001 |
| A (wielkie A) | 65 | 0x41 | 01000001 |
| a (małe a) | 97 | 0x61 | 01100001 |
| LF (nowa linia Unix) | 10 | 0x0A | 00001010 |
| CR (powrót karetki) | 13 | 0x0D | 00001101 |
| DEL (kasowanie) | 127 | 0x7F | 01111111 |
Praktyczne wskazówki przy korzystaniu z tablicy
- Ustal kodowanie, zanim ocenisz bajt – jeśli druga strona wymiany danych pracuje na innej stronie kodowej niż twoja, wartości powyżej 127 będą wyglądać na uszkodzone, choć są poprawne.
- Pracuj na kolumnie HEX w logach – zapisy protokołów, dumpy plików i komunikaty błędów prawie zawsze używają szesnastkowego, dziesiętny pojawia się rzadziej.
- Filtruj zakres 0–31, szukając ukrytych znaków – znaki kontrolne są niewidoczne w edytorze, a potrafią psuć porównania tekstów i nagłówki protokołów.
- Sprawdzaj wielkość litery bitem o wadze 32 – różnica między A i a sprowadza się do tego jednego bitu, co bywa szybsze niż konwersja całego łańcucha.
- Zapisuj wyniki w formie escape – gdy przenosisz znak do kodu w C, PHP lub Pythonie, wygodniej posłużyć się zapisem ukośnikowym niż wklejaniem znaku wprost.
Czego podgląd nie uwzględnia
- Pokrycie stron kodowych jest częściowe – narzędzie obsługuje Latin-1 i CP1250. W przypadku innych zestawów, na przykład Latin-2 albo stron DOS-owych, ten sam bajt może odpowiadać innemu znakowi i podgląd tego nie rozstrzygnie.
- Bajt to nie punkt kodowy – porównywanie wartości z tabeli z numerami znaków Unicode prowadzi do błędów, bo ASCII i strony kodowe operują na bajtach, a Unicode na punktach kodowych przypisanych znakom.
- Znaki kontrolne są pokazane bez kontekstu – ich działanie zależy od systemu i protokołu, a tabela podaje tylko kod, nie sposób interpretacji przez odbiorcę.
- Podgląd nie wykrywa kodowania pliku – sam odczyt bajtu nie mówi, jak go zdekodować. Bez deklaracji kodowania wynik jest tylko hipotezą, nawet jeśli wygląda sensownie.
Najczęstsze pytania
Co to jest Unicode i jak się ma do ASCII?
ASCII definiuje 128 kodów (7 bit). Unicode: standard kodowania dla wszystkich znaków świata – ponad 149 000 znaków (emoji, arabski, chiński, matematyka). UTF-8: wielobajtowe kodowanie Unicode kompatybilne z ASCII dla 0-127. UTF-8 bajty 0-127 = identyczne z ASCII.
Dlaczego Unix używa LF (10) a Windows CRLF (13,10)?
Unix: 1 znak nowej linii = LF (Line Feed, 10). Windows: 2 znaki = CR+LF (Carriage Return + Line Feed, 13+10) – historyczne komputery teleksowe: CR wraca kursor do początku linii, LF przesuwa papier o linię. Mac (stary): CR. Mac (nowy, OS X): LF. Dlatego pliki Windows mają "^M" na końcu linii w vim.
Jak sprawdzić kod ASCII znaku w różnych językach?
Python: ord("A") = 65, chr(65) = "A". JavaScript: "A".charCodeAt(0) = 65, String.fromCharCode(65) = "A". PHP: ord("A") = 65, chr(65) = "A". C: (int)'A' = 65 (char to int casting). SQL: ASCII("A") = 65 (SQL Server, MySQL).
Co to są escape sequences?
\n = LF (10), \t = TAB (9), \r = CR (13), \\ = backslash (92), \" = cudzysłów (34), \0 = NUL (0), \a = BEL (7), \b = BS (8). W PHP/JS/Python te sekwencje są interpretowane w double-quoted strings. Single-quoted strings (PHP): \n to literalny backslash + n.
Jak filtrować nie-ASCII z tekstu?
Python: text.encode("ascii", errors="ignore").decode(). JavaScript: text.replace(/[^\x00-\x7F]/g, ""). PHP: iconv("UTF-8","ASCII//IGNORE",$text). Regex ASCII: /^[\x00-\x7F]*$/. Zastosowanie: walidacja pól gdzie wymagane tylko ASCII (login, URL slug bez unicode).
Ile znaków ma rozszerzone ASCII?
Rozszerzenie obejmuje zakres 128–255, czyli 128 dodatkowych pozycji, co razem ze standardowym ASCII daje 256 możliwych wartości bajtu. To, jaki znak kryje się pod daną pozycją, zależy od wybranej strony kodowej.
Jaki kod ASCII ma spacja?
Spacja ma kod dziesiętny 32, szesnastkowo 0x20, a binarnie 00100000. Jest pierwszym znakiem drukowalnym w tablicy, tuż po zakresie znaków kontrolnych.
Dlaczego polskie znaki mają różne kody w różnych programach?
Ponieważ zakres 128–255 jest obsadzany niezależnie przez każdą stronę kodową. Litera ą w CP1250 to jeden bajt 0xB9, a w UTF-8 dwa bajty C4 85 – stąd różnice w długości i wartości zapisu.
Czy ASCII i UTF-8 to to samo?
Nie. ASCII definiuje 128 kodów mieszczących się w siedmiu bitach, a UTF-8 to kodowanie zmiennej długości, w którym znaki spoza ASCII zajmują kilka bajtów. Zakres 0–127 jest w UTF-8 zgodny z ASCII, więc czysty tekst angielski wygląda identycznie.
Jak odczytać znak z kodu podanego w HEX?
Najpierw przelicz wartość na dziesiętną, potem sprawdź, czy mieści się w zakresie 0–127, czy powyżej. Dla wartości powyżej 127 musisz jeszcze zdecydować, którą stronę kodową stosujesz – bez tego jednoznaczny odczyt nie jest możliwy.
Powiązane narzedzia: konwerter HEX na tekst, konwerter Base2-Base36 i kalkulator operacji bitowych.