Jak zamienić hex na tekst
- Wklej ciąg hex, np.
48 65 6C 6C 6F,0x48,0x65lub\x48\x65. Separatory możesz dowolnie mieszać. - Odkodowany tekst pojawia się natychmiast. Jeśli znaki wyglądają dziwnie, wybierz inne kodowanie: UTF-8, ASCII/Latin-1 lub UTF-16.
- Skopiuj tekst lub pobierz go jako plik. Kliknij Odwróć kierunek, aby zamienić tekst z powrotem na hex.
Jak działa dekodowanie hex na ASCII
Każda para cyfr hex to jeden bajt o wartości od 00 do FF. W ASCII i UTF-8 bajty 20–7E to znaki drukowalne, więc 48 65 6C 6C 6F odczytujemy jako H, e, l, l, o: „Hello”. Znaki spoza ASCII, np. polskie „ą” (C4 85), zajmują w UTF-8 kilka bajtów.
| Hex | Znak |
|---|---|
0A | Line feed (nowa linia) |
0D | Powrót karetki (carriage return) |
20 | Spacja |
21 / 2C / 2E | ! / , / . |
30–39 | Cyfry 0–9 |
41–5A | Wielkie litery A–Z |
61–7A | Małe litery a–z |
C3 A9 | é w UTF-8 |
E2 82 AC | € w UTF-8 |
Jak wybrać właściwe kodowanie
- UTF-8 – standard w internecie oraz w większości plików i API. Zwykły tekst ASCII jest jednocześnie poprawnym UTF-8.
- ASCII / Latin-1 (Windows-1252) – jeden bajt na znak dla tekstów zachodnioeuropejskich ze starszych systemów (polskich liter poza „ó” w nim nie ma). Każdy bajt odpowiada jakiemuś znakowi, więc dekodowanie zawsze się udaje.
- UTF-16 LE/BE – dwa bajty na znak, używane przez API Windows oraz łańcuchy znaków w Javie i JavaScripcie:
48 00 69 00to „Hi” w UTF-16 LE.
Jeśli widzisz symbole �, niektóre bajty są niepoprawne w wybranym kodowaniu – albo hex to dane binarne, np. obraz, hash lub skompresowane dane, a nie tekst.
Konwersja hex na string w kodzie
- Python:
bytes.fromhex('48656c6c6f').decode() - Node.js:
Buffer.from('48656c6c6f', 'hex').toString() - JavaScript w przeglądarce:
new TextDecoder().decode(Uint8Array.from('48656c6c6f'.match(/../g), (h) => parseInt(h, 16))) - Linux i macOS:
echo 48656c6c6f | xxd -r -p
Najczęściej zadawane pytania
Czym różni się zamiana hex na tekst od hex na ASCII?
ASCII obejmuje 128 znaków (bajty 00–7F): litery alfabetu angielskiego, cyfry i znaki interpunkcyjne. Zamiana hex na tekst obejmuje też znaki innych języków – w tym polskie litery – oraz emoji, które UTF-8 zapisuje na 2–4 bajtach. Dla zwykłego tekstu bez znaków diakrytycznych oba sposoby dają ten sam wynik.
Dlaczego pojawia się błąd o niepełnym bajcie?
Każdy bajt wymaga dokładnie dwóch cyfr hex. Nieparzysta liczba cyfr zwykle oznacza brak zera wiodącego (wpisz 0A, a nie A) lub znak zgubiony podczas kopiowania. Komunikat pokazuje, gdzie leży problem.
Czy można dekodować hex z prefiksami 0x lub \x?
Tak. Prefiksy takie jak 0x, \x i %, a także spacje, znaki nowej linii, przecinki, dwukropki i myślniki są usuwane automatycznie, więc tablice z C, ciągi bajtów z Pythona i zrzuty hex możesz wklejać bezpośrednio.
Czy moje dane są gdzieś wysyłane?
Nie. Hex jest dekodowany przez JavaScript w Twojej przeglądarce i nigdy nie opuszcza Twojego urządzenia.