Загрузить файл
  1. base64hub
  2. Другие BaseN
  3. Base64 в двоичный код

Конвертер Base64 в двоичный код: каждый бит на виду

Вставьте Base64 и посмотрите на декодированные байты в виде 8-битных групп. Так удобно проверять флаги и битовые поля или наблюдать, как Base64 упаковывает 6 бит в каждый символ.

Бесплатно без регистрации и ограничений Локально ничего не загружается Обновлено 27 окт. 2026 г.
Ввод 0Байты 0 BРезультат 0

Обработка идёт в браузере. Эта страница не может никуда отправить ваши данные – откуда мы это знаем

Как перевести Base64 в двоичный код

  1. Вставьте Base64 в поле Ввод · Base64. Переносы строк, пробелы, префикс data:, URL-safe - и _ и отсутствующее дополнение допускаются.
  2. Каждый декодированный байт появится в виде 8 бит в поле Результат · Двоичный.
  3. Выберите Разделитель под результатом: «Пробел» (по умолчанию), «Нет», , , , или «Новая строка».
  4. Нажмите Скопировать результат или Скачать, чтобы сохранить биты. Сохранить байты вместо этого сохраняет декодированные данные файлом, расширение берётся по содержимому.

Переключатель Двоичный → Base64 или страница двоичный код в Base64 переводят в обратную сторону.

Как символы Base64 превращаются в биты

Каждый символ Base64 обозначает 6 бит: свою позицию в алфавите, от A = 0 до / = 63. Четыре символа дают 24 бита, которые декодер перегруппировывает в три 8-битных байта. Возьмём SGkh:

СимволSGkh
Значение1863633
6 бит010010000110100100100001

Вместе это 010010000110100100100001. Режем на байты:

Байт010010000110100100100001
Десятичное7210533
ТекстHi!

Итак, SGkh декодируется в Hi!, а в двоичном виде результат выглядит как 01001000 01101001 00100001. Границы символов и байтов совпадают только раз в 24 бита, поэтому один неверный символ Base64 может испортить два соседних байта. Пошаговое объяснение разбирает тот же процесс со стороны кодировщика.

Дополнение и оставшиеся биты

Если длина данных не кратна 3 байтам, последняя группа неполная. В Hi 16 бит, для которых нужно три символа Base64 (18 бит). Лишние 2 бита заполняются нулями, а = дополняет группу до четырёх символов:

Base64Сколько бит несётБайты на выходе
SGkh2401001000 01101001 00100001
SGk=18, из них 2 заполняющих01001000 01101001
SA==12, из них 4 заполняющих01001000

Заполняющие биты в результат не попадают. Зачем вообще нужен =, рассказано на странице о дополнении.

Когда полезно видеть биты

  • Флаги и битовые поля. Протоколы и заголовки файлов часто упаковывают несколько значений «да/нет» в один байт. В двоичном виде их можно прочитать сразу, не переводя hex-цифры в уме.
  • Сравнение двух значений. Декодируйте оба и сравните построчно, выбрав в поле Разделитель «Новая строка»; один перевёрнутый бит легко заметить.
  • Обучение и головоломки. Когда 8-битные байты видны рядом с 6-битными группами, проще всего понять, откуда берутся лишние 33% размера.

Для всего, что длиннее нескольких десятков байтов, удобнее hex: Base64 в hex показывает те же байты вчетверо компактнее. Двоичный вид тратит 8 символов на байт плюс разделитель, так что миллион символов Base64 (750 000 байт) превращается примерно в 6,75 миллиона символов. Поле результата показывает первые 2 миллиона; Скопировать результат и Скачать всегда дают результат целиком.

Base64 в двоичный код в коде

import base64
" ".join(f"{b:08b}" for b in base64.b64decode("SGkh"))
# '01001000 01101001 00100001'
Array.from(Buffer.from("SGkh", "base64"), b => b.toString(2).padStart(8, "0")).join(" ");
// '01001000 01101001 00100001'

Чтобы вместо этого записать декодированные байты в двоичный файл, используйте open("out.bin", "wb").write(base64.b64decode(s)) в Python или fs.writeFileSync("out.bin", Buffer.from(s, "base64")) в Node. Полные примеры с файлами есть на страницах Python и Node.js.

Вопросы и ответы

Перевод Base64 в двоичный вид отличается от декодирования?

Декодирование то же самое, отличается только отображение: эта страница записывает байты нулями и единицами. Если вам нужны байты в виде файла (часто под «бинарником» имеют в виду именно его), используйте Base64 в файл или кнопку Сохранить байты здесь.

Почему 8 цифр на байт, если Base64 использует 6 бит на символ?

В результате показаны байты, а в байте 8 бит. Base64 режет тот же поток битов на куски по 6, поэтому 3 байта (24 бита) всегда соответствуют 4 символам.

Как получить биты без пробелов?

Выберите в поле Разделитель значение «Нет». Тогда SGk= даст одну строку 0100100001101001.

Что происходит с битами дополнения?

Они отбрасываются. В SGk= последний символ несёт 6 бит, но к данным относятся только 4; остальные 2 бита заполнены нулями, и декодер их выбрасывает.