Base64 Кодирование и Декодирование

Простой инструмент для перевода текста в формат Base64 и обратно. Работает с любыми символами, включая кириллицу и эмодзи.

Полное руководство по Base64

Base64 — это группа схем кодирования "двоичного текста в текст" (binary-to-text), которые представляют двоичные данные в формате строки ASCII. Простыми словами, это способ перевести любые компьютерные данные (картинки, файлы, архивы) в набор из 64 безопасных символов, которые можно легко переслать по почте или вставить в код.

Популярен в веб-разработке благодаря способности встраивать медиа-контент напрямую в HTML или CSS файлы (через Data URI), экономя HTTP-запросы.


Как работает алгоритм Base64?

Компьютеры хранят данные как последовательность нулей и единиц (биты), сгруппированные по 8 штук (байты). Base64 берет три байта исходных данных (3 × 8 = 24 бита) и делит их на четыре группы по 6 бит (4 × 6 = 24 бита).

Каждому 6-битному числу (от 0 до 63) соответствует символ из специального "алфавита" Base64:

  • A-Z (26 заглавных букв)
  • a-z (26 строчных букв)
  • 0-9 (10 цифр)
  • + и / (плюс и слэш)
  • Символ = используется в конце как "заполнитель" (padding), если исходная длина не делится на 3.

Именно поэтому закодированные строки часто заканчиваются на = или ==.


Где и зачем используется Base64?

1. Вложения в Email (MIME)

Изначально электронная почта была создана только для текста. Чтобы отправить картинку или PDF, почтовый клиент кодирует файл в Base64, превращая его в длинную "текстовую колбасу". Получатель автоматически декодирует это обратно в файл.

2. Data URIs (Картинки в коде)

Веб-разработчики могут вставить картинку прямо в CSS, чтобы не делать лишний запрос к серверу:

background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAU...");

Это ускоряет загрузку мелких иконок и логотипов.

3. Обход ограничений

Некоторые системы не разрешают использовать спецсимволы (напр., кавычки, угловые скобки) в параметрах URL. Кодирование строки в Base64 решает эту проблему, так как алфавит Base64 безопасен для URL (с оговоркой про + и /).


Мифы и заблуждения

⚠️ Это НЕ шифрование!

Многие новички думают, что если строка выглядит как абракадабра (SGVsbG8=), то она зашифрована. Это ошибка. Base64 — это кодирование, а не шифрование. Любой человек может декодировать вашу строку за секунду. Никогда не храните пароли или секретные ключи в Base64 для "защиты"!


Часто задаваемые вопросы (FAQ)

Увеличивается ли размер данных?

Да. Поскольку каждые 3 байта превращаются в 4 символа, объем данных увеличивается примерно на 33%. Поэтому не рекомендуется кодировать в Base64 большие файлы (видео, большие фото) — это сильно раздует страницу.

Что за символы "+" и "/"?

Это стандартные символы индекса 62 и 63. Однако, в URL они имеют специальное значение. Для использования в ссылках существует вариация URL-Safe Base64, где + заменяется на - (минус), а / на _ (подчеркивание).

Как закодировать русский текст?

Base64 работает с байтами. Чтобы закодировать кириллицу (например, "Привет"), сначала её нужно представить в байтах (обычно UTF-8). Наш инструмент делает это автоматически, корректно обрабатывая UTF-8 символы, что часто является проблемой в старых конвертерах.


Примеры кода

JavaScript (Browser):

// Кодирование (с поддержкой UTF-8 через костыль)
btoa(unescape(encodeURIComponent("Привет")));

// Декодирование
decodeURIComponent(escape(window.atob("0J/RgNC40LLQtdGC")));

PHP:

echo base64_encode("Some text");
echo base64_decode("U29tZSB0ZXh0");