TextArray
100% lokalnie

Hex na tekst i z powrotem

Zamień tekst na zapis szesnastkowy i hex z powrotem na tekst, bajt po bajcie w UTF-8.

Wejście
Wynik

Hex na tekst i z powrotem

Zapis szesnastkowy to sposób, w jaki notuje się bajty, gdy ma je czytać człowiek: dwie cyfry na bajt, od 00 do ff. Wklej tekst, a zobaczysz dokładne bajty UTF-8, które za nim stoją, albo wklej zrzut hex z logu, przechwyconego pakietu czy debuggera i odczytaj wiadomość z powrotem. Wybór trybu odwraca kierunek, a wynik zmienia się w trakcie pisania.

O kształcie wyniku decyduje separator. Pary rozdzielone spacją to klasyczny format zrzutu, najłatwiejszy do przejrzenia wzrokiem. Hex bez przerw wygląda tak jak sumy kontrolne, wartości kolorów i kolumny binarne w bazie danych. Przedrostek 0x pasuje do literałów bajtowych w C, Go i Ruście, przedrostek \x odpowiada obiektom bytes w Pythonie i escapowaniu w powłoce. Wielkie litery są dla licznych formatów, które oczekują A-F zamiast a-f.

Odczyt hexu jest celowo wyrozumiały, bo prawdziwy hex trafia tu w nieładzie. Spacje, tabulatory i łamania wierszy są ignorowane, przedrostki 0x i \x znikają wszędzie tam, gdzie się pojawią, a wielkość liter może się mieszać — wartość skopiowana ze stack trace zwykle działa za pierwszym razem. Dwie rzeczy narzędzie zgłasza, zamiast zgadywać: nieparzystą liczbę cyfr, czyli jedna gdzieś zniknęła, oraz znaki spoza zakresu 0-9 a-f. Bajty, które nie są poprawnym UTF-8, dekodują się na znak zastępczy, więc widać, gdzie sekwencja się urwała.

Wszystko działa w twojej przeglądarce, na jej wbudowanym koderze UTF-8. Nic nie jest wysyłane, co ma znaczenie, gdy badany hex pochodzi z payloadu, tokenu albo prywatnego pliku. Podsumowanie pod wynikiem zestawia znaki z bajtami, więc znaki wielobajtowe łatwo wychwycisz: emoji kosztuje cztery bajty, litera z ogonkiem dwa.

Częste pytania

Dlaczego mój hex jest dłuższy niż tekst?
Każdy bajt zajmuje dwie cyfry szesnastkowe, a tekst kodowany jest jako UTF-8 — gdzie ASCII to jeden bajt na znak, polskie litery dwa, a emoji cztery. Pięcioznakowe słowo może więc mieć 8 bajtów i 16 cyfr.
Jakie formaty hexu potrafi odczytać?
Wszystkie, które sam zapisuje, i większość pozostałych: pary ze spacjami, ciągły łańcuch, bajty z przedrostkiem 0x i \x, wielkie i małe litery, rozłożone na dowolnej liczbie wierszy. Spacje i przedrostki są usuwane przed dekodowaniem.
Dlaczego dostaję błąd o nieparzystej liczbie cyfr?
Bajt ma zawsze dwie cyfry, więc nieparzysta liczba oznacza, że jedna zginęła — zwykle przy uciętym kopiowaniu. Sprawdź początek i koniec ciągu. Przecinki i inne znaki interpunkcyjne nie są przyjmowane jako separator: usuń je albo rozdziel bajty spacjami.
Czym są czarne romby w odkodowanym tekście?
To znak U+FFFD, pojawiający się wszędzie tam, gdzie bajty nie są poprawnym UTF-8 — zwykle dlatego, że hex pochodzi z danych binarnych albo z tekstu w innym kodowaniu, na przykład Windows-1250.
Czy mój tekst jest gdzieś wysyłany?
Nie. Konwersja działa wyłącznie w twojej przeglądarce, a tekst nigdy nie opuszcza urządzenia.