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

Это кодирование разработано для корректной передачи бинарных данных по протоколам, не поддерживающим 8-битную передачу, например для отправки бинарных файлов в теле письма.

Что такое Base64 кодирование?

Base64 кодирование — это метод преобразования двоичных данных в строку, состоящую из ASCII-символов. Он используется для безопасной передачи данных через системы, которые поддерживают только текстовые данные.

Зачем нужно Base64 кодирование?

Многие протоколы и форматы данных (например, электронная почта, JSON, XML) могут корректно обрабатывать только текст. Если вы хотите отправить изображение, PDF или любые бинарные данные через такие системы, их необходимо закодировать в виде строки.

Base64 позволяет представить любые данные как строку, состоящую из 64 допустимых ASCII-символов.

Как работает Base64?

Base64 не является шифрованием или сжатием. Это просто способ кодирования данных:

  • Данные разбиваются на группы по 3 байта (24 бита)
  • Эти 24 бита делятся на 4 части по 6 бит
  • Каждая 6-битная группа преобразуется в один символ из заранее заданного набора (A–Z, a–z, 0–9, +, /), а при необходимости добавляются символы заполнения (=)

Примеры

Исходный текст:
Hello
Base64:
SGVsbG8=

Распространённые случаи использования

  • Вставка изображений в HTML или CSS в виде Data URLs: data:image/png;base64,iVBORw0KG...
  • Передача токенов авторизации в заголовках HTTP
  • Кодирование файлов для передачи в JSON/XML

Инструменты для кодирования/декодирования

  • JavaScript: btoa("string") / atob("base64")
  • Python: base64.b64encode() / base64.b64decode()
  • Linux: команды base64 и echo "..." | base64 --decode

Это не шифрование! Base64 легко декодируется и не обеспечивает безопасности.