tigtools

Конвертер тексту в двійковий код

Перетворюйте текст на байти, які зберігає комп’ютер, у двійковому, шістнадцятковому, десятковому чи вісімковому вигляді або вставляйте байти, щоб прочитати їх як текст. Працює з будь-якими мовами й емодзі.

Працює у вашому браузері Без реєстрації

Напрямок
Між байтами

Як користуватися

  1. Виберіть «Текст → байти», щоб закодувати текст, або «Байти → текст», щоб декодувати.
  2. Виберіть формат байтів: двійковий, шістнадцятковий, десятковий або вісімковий.
  3. Введіть або вставте дані. Результат і кількість байтів оновлюються під час введення.
  4. Скопіюйте результат або перенесіть його у поле введення, щоб перевірити зворотне перетворення.

Як це працює

Комп’ютери зберігають текст у вигляді байтів. Цей інструмент використовує UTF-8 — кодування, яке застосовують майже всі вебсайти й сучасні системи. У UTF-8 кожен із 128 символів ASCII (англійські літери, цифри й основні розділові знаки) займає один байт, тому H у двійковому вигляді — це 01001000, а в шістнадцятковому — 48. Усі інші символи займають від двох до чотирьох байтів: é — 2 байти (C3 A9), € і ☕ — 3 байти, а більшість емодзі — 4 байти. Тому кількість байтів може перевищувати кількість символів, а один символ може перетворюватися на кілька груп із 8 бітів.

Кожен байт можна записати чотирма поширеними способами: 8-значним двійковим числом (00000000–11111111), 2-значним шістнадцятковим (00–FF), десятковим (0–255) або 3-значним вісімковим (000–377). Якщо байти записано без роздільників, двійкові, шістнадцяткові й вісімкові значення доповнюються до фіксованої довжини, а десяткові — до 3 цифр, щоб їх можна було однозначно розділити.

Декодер допускає різне форматування: пробіли, переноси рядків, коми й крапки з комою між байтами ігноруються, так само як префікси 0x і 0b та екрановані послідовності \x. Перевіряється кожна група; якщо цифра не дозволена у вибраному форматі або значення перевищує 255, буде вказано позицію байта. Після декодування байти перевіряються на відповідність UTF-8, і ви побачите повідомлення, якщо вони не є текстом.

Складені символи з кількох кодових точок, як-от прапори чи емодзі з відтінками шкіри, тут рахуються як кілька символів, оскільки кожна кодова точка кодується окремо.

Приклади

Класичне “Hi” у двійковому вигляді

H у ASCII має значення 72, а i — 105, тому “Hi” у двійковому вигляді — це 01001000 01101001, у шістнадцятковому — 48 69, а в десятковому — 72 105: 2 символи, 2 байти, 16 бітів.

Чому “Café” займає 5 байтів

C, a і f займають по одному байту, а é у UTF-8 — два байти: 11000011 10101001 (C3 A9). У слові 4 символи, але воно займає 5 байтів. Це важливо зважати на обмеження стовпців бази даних і поля протоколів, розмір яких вимірюється в байтах.

Як прочитати дамп у шістнадцятковому форматі

Налагоджувач показує 48 65 6c 6c 6f 2c 20 e4 b8 96 e7 95 8c. Вставте цей рядок, виберіть “Байти → текст” і шістнадцятковий формат, щоб отримати “Hello, 世界”; кожен китайський символ займає 3 байти.

Поширені запитання

Чому один символ перетворюється на 16, 24 або 32 біти?

У UTF-8 лише символи ASCII займають один байт (8 бітів). Літери з діакритичними знаками й більшість інших алфавітів займають 2 байти, китайські, японські, корейські символи та багато інших знаків — 3, а емодзі — 4. Кожен байт показується окремою групою.

Це ASCII чи UTF-8?

UTF-8. Для звичайного англійського тексту результат такий самий, як в ASCII, адже UTF-8 розроблено сумісним із ним. Символи поза ASCII неможливо представити лише засобами ASCII.

Чому під час декодування двійкового коду виникає помилка?

Кожен байт має містити не більше 8 двійкових цифр — лише 0 і 1. Якщо пробілів немає, загальна кількість цифр має бути кратною 8. У повідомленні про помилку вказано номер байта, який не вдалося прочитати.

Що означає «некоректний UTF-8»?

Байти не утворюють коректних послідовностей UTF-8, наприклад окремий байт зі значенням понад 127 або послідовність, обірвана посередині. Дані можуть походити з файлу в іншому кодуванні, наприклад Windows-1252, або взагалі не бути текстом.

Конфіденційність

Перетворення виконується у вашому браузері за допомогою вбудованих кодера й декодера UTF-8. Ваш текст не завантажується на сервер, не зберігається й не передається в аналітику.