tigtools

Konwerter tekstu na system binarny

Zamień tekst na bajty zapisywane przez komputer w systemie binarnym, szesnastkowym, dziesiętnym lub ósemkowym albo wklej bajty, aby odczytać je jako tekst. Obsługuje wszystkie języki i emoji.

Działa w przeglądarce Bez rejestracji

Kierunek
Separator bajtów

Jak używać

  1. Wybierz „Tekst → bajty”, aby zakodować tekst, lub „Bajty → tekst”, aby go zdekodować.
  2. Wybierz format bajtów: binarny, szesnastkowy, dziesiętny lub ósemkowy.
  3. Wpisz lub wklej dane wejściowe. Wynik i liczba bajtów aktualizują się podczas pisania.
  4. Skopiuj wynik albo przenieś go do pola wejściowego, aby sprawdzić, czy konwersja działa w obie strony.

Jak to działa

Komputery zapisują tekst w postaci bajtów. To narzędzie używa UTF-8, kodowania stosowanego przez niemal każdą witrynę i nowoczesny system. W UTF-8 każdy ze 128 znaków ASCII (angielskie litery, cyfry i podstawowe znaki interpunkcyjne) zajmuje jeden bajt, dlatego H w systemie binarnym to 01001000, a w szesnastkowym — 48. Pozostałe znaki zajmują od dwóch do czterech bajtów: é to 2 bajty (C3 A9), € i ☕ to 3 bajty, a większość emoji — 4 bajty. Dlatego liczba bajtów może być większa niż liczba znaków, a jeden znak może zamienić się w kilka grup po 8 bitów.

Każdy bajt można zapisać na cztery popularne sposoby: jako 8 cyfr binarnych (00000000–11111111), 2 cyfry szesnastkowe (00–FF), liczbę dziesiętną (0–255) lub 3 cyfry ósemkowe (000–377). Gdy bajty są zapisywane bez separatorów, wartości binarne, szesnastkowe i ósemkowe są dopełniane do stałej długości, a wartości dziesiętne do 3 cyfr, aby można je było jednoznacznie rozdzielić.

Dekodowanie toleruje różne formatowania: spacje, podziały wierszy, przecinki i średniki między bajtami są ignorowane. Ignorowane są też prefiksy 0x i 0b oraz sekwencje \x. Każda grupa jest sprawdzana; niedozwolona cyfra w wybranym formacie lub wartość większa niż 255 jest zgłaszana wraz z pozycją bajtu. Po dekodowaniu bajty są sprawdzane pod kątem poprawności UTF-8. Jeśli nie tworzą tekstu, otrzymasz stosowną informację.

Znaki składające się z kilku punktów kodowych, takie jak flagi czy emoji z odcieniami skóry, są tu liczone jako kilka znaków, ponieważ każdy punkt kodowy jest kodowany osobno.

Przykłady

Klasyczne „Hi” w systemie binarnym

H ma w ASCII wartość 72, a i — 105, więc „Hi” to 01001000 01101001 w systemie binarnym, 48 69 w szesnastkowym i 72 105 w dziesiętnym: 2 znaki, 2 bajty, 16 bitów.

Dlaczego „Café” zajmuje 5 bajtów

C, a i f zajmują po jednym bajcie, ale é w UTF-8 zajmuje dwa bajty: 11000011 10101001 (C3 A9). Słowo ma 4 znaki, ale zajmuje 5 bajtów. Ma to znaczenie w przypadku limitów kolumn baz danych i pól protokołów określanych w bajtach.

Odczytywanie zrzutu szesnastkowego

Debugger pokazuje ciąg 48 65 6c 6c 6f 2c 20 e4 b8 96 e7 95 8c. Wklej go, wybierz „Bajty → tekst” i format szesnastkowy, aby otrzymać „Hello, 世界”; każdy chiński znak zajmuje 3 bajty.

Często zadawane pytania

Dlaczego jeden znak zamienia się w 16, 24 lub 32 bity?

W UTF-8 tylko znaki ASCII mieszczą się w jednym bajcie (8 bitach). Litery ze znakami diakrytycznymi i większość innych alfabetów zajmują 2 bajty, chińskie, japońskie i koreańskie znaki oraz wiele symboli — 3, a emoji — 4. Każdy bajt jest wyświetlany jako osobna grupa.

Czy to jest ASCII czy UTF-8?

UTF-8. W przypadku zwykłego tekstu angielskiego wynik jest taki sam jak w ASCII, ponieważ UTF-8 zaprojektowano tak, aby był z nim zgodny. Samo ASCII nie pozwala zapisać znaków spoza tego zestawu.

Dlaczego podczas dekodowania systemu binarnego pojawia się błąd?

Każdy bajt może zawierać najwyżej 8 cyfr binarnych i tylko cyfry 0 i 1. Jeśli nie ma spacji, łączna liczba cyfr musi być wielokrotnością 8. Komunikat o błędzie wskazuje bajt, którego nie udało się odczytać.

Co oznacza komunikat „nieprawidłowy UTF-8”?

Bajty nie tworzą prawidłowych sekwencji UTF-8, na przykład występuje samotny bajt o wartości powyżej 127 lub sekwencja urywa się w połowie. Dane mogą pochodzić z pliku zapisanego w innym kodowaniu, takim jak Windows-1252, albo wcale nie być tekstem.

Prywatność

Konwersja odbywa się w przeglądarce przy użyciu wbudowanego kodera i dekodera UTF-8. Tekst nie jest przesyłany, przechowywany ani uwzględniany w statystykach.