Base64: кодирование и декодирование

Base64 Encode / Decode

Перевод текста в Base64 и обратно с поддержкой UTF-8 (кириллица).

Base64 — это способ представить любые данные (текст, картинки, файлы) с помощью 64 печатных символов: A–Z, a–z, 0–9, плюс и слэш. Калькулятор кодирует строку в Base64 и декодирует обратно, корректно работая с кириллицей за счёт UTF-8. Это не шифрование, а кодирование: результат легко вернуть к исходному виду.

Что считает
Base64 — это способ представить любые данные (текст, картинки, файлы) с помощью 64 печатных символов: A–Z, a–z, 0–9, плюс и слэш. Калькулятор кодирует строку в Base64 и декодирует обратно, корректно работая с кириллицей за счёт UTF-8. Это не шифрование, а кодирование: результат легко вернуть к исходному виду.
Раздел
💻 IT и программирование
Что на выходе
Результат + формула + пошаговое решение + разбор примера
Стоимость
Бесплатно, без регистрации, прямо в браузере

Как это работает

Base64 кодирует 3 байта (24 бита) в 4 печатных символа из алфавита A–Z, a–z, 0–9, + и /. Для UTF-8-безопасности применяется btoa(unescape(encodeURIComponent(s))) при кодировании и обратная цепочка при декодировании — иначе кириллица ломается.

Что это и что показывает

Base64 — это способ представить любые данные (текст, картинки, файлы) с помощью 64 печатных символов: A–Z, a–z, 0–9, плюс и слэш. Калькулятор кодирует строку в Base64 и декодирует обратно, корректно работая с кириллицей за счёт UTF-8. Это не шифрование, а кодирование: результат легко вернуть к исходному виду.

Формула / как устроено

Base64 берёт данные по 3 байта (24 бита) и нарезает их на 4 группы по 6 бит. Каждая 6-битная группа (значение 0–63) заменяется символом из алфавита Base64.

3 байта (24 бита) → 4 символа Base64

Для безопасной работы с не-латиницей строка сначала кодируется в UTF-8: btoa(unescape(encodeURIComponent(s))). Декодирование выполняет обратную цепочку.

Как посчитать вручную

  1. Переведите каждый символ строки в его байты (для ASCII — код символа).
  2. Сгруппируйте биты по 3 байта и перепишите их как 4 группы по 6 бит.
  3. Каждую 6-битную группу замените символом из таблицы Base64.
  4. Если байтов не кратно 3 — дополните результат знаками = до кратности 4 символам.

Пример

Закодируем слово Hi (2 байта: 72 и 105).

Биты: 01001000 01101001 → группы по 6: 010010 000110 1001(00).

Это значения 18, 6, 36 → символы S, G, k. Недостаёт байта, поэтому хвост дополняется одним =.

Итог: SGk=.

Где применяется

Base64 используют для вложений в email (MIME), встраивания картинок в HTML и CSS через data-URI, передачи бинарных данных в JSON и XML, кодирования токенов (например, JWT состоит из Base64URL-частей) и хранения ключей. Это стандартный «клей» между двоичным миром и текстовыми протоколами.

Осторожно

  • Принимают Base64 за шифрование — данные раскодирует кто угодно, секреты так не защищают.
  • Кодируют кириллицу наивным btoa без UTF-8 — получают ошибку или «кракозябры».
  • Теряют padding-символы = при копировании — строка перестаёт декодироваться.
  • Путают обычный Base64 и Base64URL (где + и / заменены на - и _ для безопасной вставки в URL).

Частые вопросы

Зачем нужен Base64?

Чтобы передавать двоичные данные (картинки, файлы) по каналам, рассчитанным на текст: вложения email, data-URI в CSS/HTML, токены в JSON. Это не шифрование — данные легко раскодировать обратно.

Почему в конце бывают знаки =?

Это padding (дополнение). Когда длина входа не кратна 3 байтам, результат дополняется одним или двумя = до кратности 4 символам.

Base64 защищает данные?

Нет. Это обратимое кодирование, а не шифрование. Любой может декодировать строку. Для защиты нужны шифрование или хеширование.

Почему кириллица иногда превращается в мусор?

Наивный btoa работает только с латиницей. Этот калькулятор сначала кодирует строку в UTF-8, поэтому «Привет» декодируется корректно.

Проекты сети