Utilia

Tekst na kod binarny, hex i ASCII

Zamieniaj tekst na kod binarny, szesnastkowy, dziesiętny lub ósemkowy i z powrotem – bajty UTF-8 lub punkty kodowe Unicode, separatory i tabela znaków.

Znaki
0
Punkty kodowe
0
Bajty UTF-8
0
Tabela znaków
ZnakPunkt kodowyDziesiętnieUTF-8 (hex)UTF-8 (binarnie)

Jak zamienić tekst na kod binarny

  1. Wpisz lub wklej tekst w polu danych wejściowych, a następnie kliknij Tekst → kody. Wynik pojawia się poniżej i aktualizuje podczas pisania.
  2. Wybierz Format: Binarny (podstawa 2), Szesnastkowy (podstawa 16), Dziesiętny (podstawa 10) lub Ósemkowy (podstawa 8).
  3. W sekcji Kody oznaczają zostaw Bajty UTF-8 (zgodne z ASCII), aby uzyskać typową konwersję „tekst na binarny”, albo wybierz Punkty kodowe Unicode, aby dostać jedną liczbę na każdy znak.
  4. Wybierz Separator (Spacja, Brak, Przecinek lub Nowa linia) i zaznacz Dodaj prefiks (0b, 0o, 0x), jeśli kody mają być zapisane tak, jak oczekują tego języki programowania.
  5. Aby przeliczyć w drugą stronę, wklej kody i kliknij Kody → tekst. Przy przełączeniu narzędzie odgaduje format, a w razie potrzeby możesz go poprawić w polu Format.

Kopiuj kopiuje wynik, a Użyj wyniku jako danych wejściowych przenosi wynik do pola wejściowego i odwraca kierunek – to szybki sposób, by sprawdzić konwersję w obie strony. Tabela znaków pokazuje każdy znak z jego punktem kodowym, wartością dziesiętną oraz bajtami UTF-8 w zapisie szesnastkowym i binarnym.

ASCII, Unicode i UTF-8

Komputery przechowują tekst jako liczby. ASCII, zdefiniowane w latach 60., przypisuje liczby od 0 do 127 literom alfabetu angielskiego, cyfrom, interpunkcji i kilku znakom sterującym: „H” to 72, czyli 01001000 binarnie i 48 szesnastkowo. W ASCII nie ma miejsca na polskie ą, ę, ł, ż, na € ani na emoji, dlatego współczesny tekst korzysta z Unicode, który każdemu znakowi nadaje punkt kodowy zapisywany np. jako U+0142 dla ł.

UTF-8 to sposób, w jaki niemal każda strona internetowa i każdy plik zapisuje te punkty kodowe w bajtach. Jego kluczową cechą jest zgodność: 128 znaków ASCII zachowuje swój jeden bajt, więc „Hello” daje dokładnie ten sam kod binarny w ASCII i w UTF-8. Pozostałe znaki zajmują od 2 do 4 bajtów: ł to C5 82 (dwa bajty), € to E2 82 AC (trzy), a 😀 to F0 9F 98 80 (cztery). Narzędzie informuje, ile znaków wykracza poza ASCII, a liczniki pokazują liczbę Znaki, Punkty kodowe i Bajty UTF-8. Te wartości mogą się różnić: 👍🏽 to jeden widoczny znak złożony z dwóch punktów kodowych i ośmiu bajtów.

Dekodowanie kodów z powrotem na tekst

Przy dekodowaniu kody mogą być oddzielone spacjami, przecinkami, średnikami lub podziałami linii. Prefiksy takie jak 0b, 0x, \x, U+ oraz encje HTML w rodzaju H czy H są usuwane automatycznie. Bajty binarne i szesnastkowe można też wkleić bez separatorów: 0100100001101001 zostanie podzielone na grupy po 8 bitów, a c582 na pary cyfr szesnastkowych.

Narzędzie sprawdza każdy kod i dokładnie wskazuje, który jest błędny: cyfrę spoza wybranego systemu, bajt większy niż 255, grupę, której nie da się równo podzielić, albo punkt kodowy powyżej U+10FFFF. Jeśli bajty są poprawnymi liczbami, ale nie tworzą poprawnego UTF-8 (np. C3, a po nim 28), tekst i tak zostanie pokazany ze znakiem � w miejscu uszkodzonej sekwencji, a komunikat wyjaśni przyczynę.

Przykłady

  • „Hi” binarnie: 01001000 01101001
  • „Hi” szesnastkowo: 48 69
  • „Hi” dziesiętnie: 72 105
  • „ł” jako bajty UTF-8 w hex: C5 82; jako punkt kodowy: 142

Najczęściej zadawane pytania

Czym różni się ASCII od kodu binarnego?

ASCII to tabela przypisująca znakom liczby. Kod binarny to po prostu sposób zapisu tych liczb za pomocą 0 i 1. Zamiana tekstu na kod binarny polega na odszukaniu liczby każdego znaku i zapisaniu jej w systemie dwójkowym.

Dlaczego ą zajmuje 16 bitów, a nie 8?

W UTF-8 w jednym bajcie mieści się tylko 128 znaków ASCII. Litery z ogonkami i kreskami potrzebują dwóch bajtów, więc ą to 11000100 10000101. Przy opcji Punkty kodowe Unicode ą to jedna liczba: 100000101 (261).

Czy mogę dekodować kod binarny bez spacji?

Tak, w przypadku bajtów binarnych lub szesnastkowych, o ile długość jest wielokrotnością 8 bitów lub 2 cyfr szesnastkowych. Kody dziesiętne wymagają separatora, chyba że każdy jest zapisany dokładnie 3 cyframi.

Która opcja odpowiada „text to hex” w programowaniu?

Bajty UTF-8 w zapisie szesnastkowym. Wynik jest taki sam jak przy kodowaniu napisu do UTF-8 w Pythonie, JavaScripcie i większości innych języków.

Czy mój tekst jest wysyłany?

Nie. Konwersja odbywa się w całości w twojej przeglądarce; nic nie jest przesyłane przez sieć.