Jak zamienić tekst na hex
- Wpisz lub wklej tekst. Obsługiwane są wszystkie języki – także polskie znaki – oraz emoji.
- Wybierz kodowanie znaków (standardem jest UTF-8), wielkość liter i sposób rozdzielania bajtów. Zaznacz Nowa linia co 16 bajtów, aby uzyskać układ jak w zrzucie hex.
- Skopiuj ciąg hex lub pobierz go jako plik tekstowy.
Jak tekst zamienia się na hex
Komputery przechowują tekst jako bajty. Konwerter sprawdza wartość bajtu każdego znaku w wybranym kodowaniu i zapisuje ją jako dwie cyfry hex. W ASCII i UTF-8 A to 65 = 41, a to 97 = 61, a spacja to 32 = 20, więc „Hi!” zamienia się w 48 69 21.
| Znak | Dziesiętnie | Hex |
|---|---|---|
A … Z | 65 … 90 | 41 … 5A |
a … z | 97 … 122 | 61 … 7A |
0 … 9 | 48 … 57 | 30 … 39 |
| Spacja | 32 | 20 |
! | 33 | 21 |
| Nowa linia | 10 | 0A |
Porównanie UTF-8, Latin-1 i UTF-16
Ten sam znak może dawać różne bajty w zależności od kodowania. UTF-8 to właściwy wybór dla stron WWW, JSON-a i większości plików; inne kodowanie stosuj tylko wtedy, gdy wymaga go system docelowy. Przykładowo polskie „ł” to w UTF-8 bajty C5 82, w UTF-16 LE – 42 01, a w Windows-1252 w ogóle go nie ma.
| Tekst | UTF-8 | Windows-1252 | UTF-16 LE |
|---|---|---|---|
A | 41 | 41 | 41 00 |
é | C3 A9 | E9 | E9 00 |
€ | E2 82 AC | 80 | AC 20 |
| 😀 | F0 9F 98 80 | brak | 3D D8 00 DE |
Konwersja stringa na hex w kodzie
- Python:
'Hello'.encode().hex()zwraca48656c6c6f;.hex(' ')dodaje spacje. - Node.js:
Buffer.from('Hello').toString('hex') - JavaScript w przeglądarce:
[...new TextEncoder().encode('Hello')].map((b) => b.toString(16).padStart(2, '0')).join('') - Linux i macOS:
echo -n 'Hello' | xxd -p
Najczęściej zadawane pytania
Czy zamiana tekstu na hex to to samo co ASCII na hex?
Dla liter alfabetu angielskiego, cyfr i znaków interpunkcyjnych – tak: ASCII i UTF-8 dają te same bajty. Znaki takie jak ą, ł, é, ß, Ж, 中 czy emoji nie należą do ASCII; UTF-8 koduje każdy z nich na 2–4 bajtach.
Dlaczego jeden znak daje kilka bajtów hex?
W UTF-8 tylko znaki ASCII zajmują jeden bajt. é to C3 A9, € to E2 82 AC, a większość emoji zajmuje cztery bajty. Wybierz UTF-16 lub Latin-1, jeśli system docelowy oczekuje takiego kodowania.
Jakiego separatora użyć?
Bez separatora – dla skrótów (hashy) i zwartych ciągów; spacji – dla czytelnych zrzutów hex; dwukropków – dla adresów MAC i odcisków palców certyfikatów; 0x48, 0x65 – dla tablic w C, C# lub Javie; \x48 – dla literałów tekstowych w C, Pythonie lub skryptach powłoki.
Jak zamienić hex z powrotem na tekst?
Kliknij Odwróć kierunek: hex trafi do pola wejściowego i zostanie zdekodowany w tym samym kodowaniu. Dekoder akceptuje wszystkie dostępne tu separatory.