Konwerter Hexspeak

Spacje rozdzielają słowa. Nieobsługiwane znaki są zgłaszane i nigdy nie są po cichu usuwane.

Zamień nieujemną liczbę dziesiętną w łatwe do zapamiętania słowo szesnastkowe albo sprawdź, czy frazę zapisaną alfabetem łacińskim da się wystylizować znakami systemu szesnastkowego. Tryb liczby dziesiętnej pokazuje surową wartość w podstawie 16 i stosuje klasyczny odczyt 0 → O oraz 1 → I tylko wtedy, gdy pasuje każda cyfra. Tryb frazy oferuje regułę dokładną oraz jasno opisane, ostrożne zamiany. Nieobsługiwane znaki są zgłaszane, a nie po cichu usuwane. W pełni poprawny wynik można sformatować do kodu, dokumentacji, danych testowych lub łatwego do zapamiętania identyfikatora.

Jak korzystać z konwertera Hexspeak

  1. 1

    Wybierz tryb konwersji

    Wybierz liczbę dziesiętną dla nieujemnej wartości o podstawie 10 albo frazę łacińską, aby sprawdzić słowa i krótkie wyrażenia.

  2. 2

    Ustal reguły frazy

    W trybie frazy wybierz dokładne znaki szesnastkowe lub ostrożne zamiany, takie jak O → 0 i S → 5.

  3. 3

    Sprawdź i sformatuj wynik

    Zobacz surową wartość szesnastkową, czytelną postać i raport nieobsługiwanych znaków, a następnie ustaw wielkość liter, prefiks i odstępy dla w pełni poprawnego wyniku.

Dwa precyzyjne sposoby tworzenia Hexspeak

System szesnastkowy ma podstawę 16 i używa znaków 0–9 oraz A–F. Dla cyfr szesnastkowych d₀ … dₙ reprezentowana liczba całkowita wynosi:

N = d₀ × 16ⁿ + d₁ × 16ⁿ⁻¹ + … + dₙ

W trybie liczby dziesiętnej konwerter przyjmuje nieujemną liczbę o długości do 256 cyfr i tworzy jej surową wartość szesnastkową wielkimi literami, bez ograniczenia zakresem stałej szerokości liczby całkowitej w PHP. Następnie sprawdza klasyczną regułę czytania używaną w tym narzędziu: 0 → O, 1 → I, a A–F pozostają literami. Każda cyfra od 2 do 9 w surowym wyniku uniemożliwia taki klasyczny odczyt. Przykładowo liczba dziesiętna 12648430 daje surowe C0FFEE, które można odczytać jako COFFEE. Liczba 4919 daje 1337, więc nie spełnia tej ścisłej reguły.

Tryb frazy łacińskiej odpowiada na inne pytanie: czy podaną frazę da się przedstawić glifami szesnastkowymi? Reguła dokładna przyjmuje wyłącznie A–F i wpisane cyfry. Reguła ostrożna dodatkowo mapuje O → 0, I lub L → 1, S → 5, T → 7 oraz G → 6. Zakres tych zamian jest celowo wąski. Nieobsługiwane znaki są wymieniane, nigdy usuwane, a formatowanie wyniku staje się dostępne dopiero wtedy, gdy cała fraza jest poprawna.

Dane i tryb Działanie Wynik
3735928559 w trybie dziesiętnym Zamiana z podstawy 10 na 16 DEADBEEF
3405691582 w trybie dziesiętnym Zamiana z podstawy 10 na 16 CAFEBABE
COFFEE w ostrożnym trybie frazy O → 0 C0FFEE
BAD FOOD w ostrożnym trybie frazy O → 0; wybór ciągłego wyniku BADF00D

Tokeny takie jak DEADBEEF, CAFEBABE, BADF00D i C0FFEE łatwo zapamiętać, ponieważ przypominają słowa, a jednocześnie pozostają poprawnymi wartościami szesnastkowymi. Udokumentowanym przykładem produkcyjnym jest 0xCAFEBABE: specyfikacja maszyny wirtualnej Java definiuje go jako liczbę magiczną na początku pliku Java class. Nie oznacza to, że każda pomysłowo wyglądająca wartość jest standardowym lub bezpiecznym identyfikatorem. Sprawdź wymagania i szerokość pola w systemie docelowym.

Hexspeak to nie kodowanie tekstu do HEX

Koder tekstu do HEX zamienia zakodowane bajty. Przykładowo napis UTF-8 Coffee staje się 43 6F 66 66 65 65. Znając kodowanie znaków, można tę reprezentację bajtową odkodować. Hexspeak tworzy natomiast wizualne słowo z ograniczonego zbioru znaków. Zamiany O → 0 i I/L → 1 są niejednoznaczne, więc stylizacji frazy nie da się odwrócić. Reguły są też węższe niż w leetspeak, gdzie można stosować wiele znaków niebędących prawidłowymi cyframi szesnastkowymi.

Wejście może mieć najwyżej 256 znaków, a fraza najwyżej 32 słowa. Tryb frazy obsługuje wyłącznie litery łacińskie ASCII bez znaków diakrytycznych, cyfry i spacje. Polskie litery, takie jak ą, ć, ł czy ż, nie są bezpośrednio obsługiwane; przed testem trzeba świadomie zastąpić je odpowiednimi literami bez znaków diakrytycznych. Wartości dziesiętne i frazy są przetwarzane na serwerze i mogą pojawić się w adresach URL wieloetapowego procesu. Nie wpisuj haseł, danych logowania ani prywatnych identyfikatorów.

Źródła: NIST o zapisie szesnastkowym i cyfrach czterobitowych · Specyfikacja maszyny wirtualnej Java, liczba magiczna pliku class

Najczęściej zadawane pytania

To sposób dobierania lub odczytywania wartości szesnastkowych tak, aby ich cyfry przypominały słowa alfabetu łacińskiego. Ścisłe przykłady używają tylko A–F i cyfr, a niektóre konwencje odczytują wybrane cyfry jako litery. Nie ma jednego powszechnego standardu zamian, dlatego konwerter podaje dokładne reguły zamiast przedstawiać domysł jako kanon.

Najpierw zamienia całą nieujemną liczbę dziesiętną na wielkie cyfry podstawy 16 bez limitu stałej szerokości liczby maszynowej. Następnie pozostawia A–F, odczytuje 0 jako O, a 1 jako I. Jeśli surowy wynik szesnastkowy zawiera cyfrę od 2 do 9, ścisły klasyczny odczyt zostaje oznaczony jako niepoprawny.

Tryb dokładny przyjmuje wyłącznie A–F i wpisane cyfry. Tryb ostrożny dopuszcza także sześć jawnych zamian wizualnych: O → 0, I/L → 1, S → 5, T → 7 i G → 6. Nie wymyśla szerszych zamian leetspeak, a każdy nieobsługiwany znak pozostaje widoczny w raporcie.

W trybie ostrożnym oba O mogą stać się zerami, a C, F i E są już literami szesnastkowymi. W HELLO pozostaje H, dla którego nie ma ostrożnego odpowiednika szesnastkowego. Konwerter zgłasza H jako znak nieobsługiwany, zamiast go usuwać i zwracać mylący, niepełny wynik.

Tak, gdy każdy token jest poprawny. Można wybrać wielkie lub małe litery, surowe cyfry albo prefiks 0x przy każdym tokenie oraz wynik ze spacjami lub połączony. Połączenie usuwa granice słów, dlatego dla czytelności lepiej zachować odstępy. Niepoprawna fraza nie jest formatowana tak, jakby była kompletna.

Nie. O i zero mają ten sam glif, a I i L mogą zmienić się w jedynkę, więc nie zawsze da się odtworzyć pierwotną frazę. Do odwracalnej reprezentacji danych użyj konwertera tekstu do HEX lub kodera bajtów. Hexspeak służy do łatwych do rozpoznania wartości tam, gdzie jego ograniczony alfabet jest odpowiedni.

Nie zakładaj, że wejście jest przetwarzane wyłącznie w przeglądarce. Narzędzie wysyła wartości do serwera aplikacji, a wieloetapowy proces może umieścić je w adresie URL. Unikaj haseł, kluczy API, poufnych identyfikatorów i innych wrażliwych danych. Mogą obowiązywać standardowe zasady rejestrowania serwera i proxy.

Powiązane narzędzia

Narzędzie jest dostępne w innych językach