Что такое Base64-кодирование и когда его использовать

· 4 мин чтения

Если вы работаете с API, email-системами или веб-разработкой, вы сталкивались с Base64 — даже не узнавая его. Эти длинные строки букв и цифр, похожие на тарабарщину? Это, вероятно, Base64.

Что делает Base64

Base64 конвертирует двоичные данные (любую последовательность байтов) в текстовую строку, использующую только 64 «безопасных» символа: A-Z, a-z, 0-9, + и /. Результат всегда заканчивается заполнением = при необходимости.

Пример:

Это кодирование существует, потому что многие системы (email, JSON, URL, XML) обрабатывают только текст. Двоичные данные — изображения, сжатые файлы, сырые байты — могут содержать символы, которые ломают эти системы. Base64 конвертирует двоичный код в текст, который проходит через любой текстовый канал без повреждений.

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

Встраивание изображений в HTML/CSS:

<img src="data:image/png;base64,iVBORw0KGgoAAAA..." />

Маленькие иконки и логотипы могут быть встроены прямо в ваш HTML, устраняя дополнительный HTTP-запрос.

Полезные нагрузки API: когда API ожидает JSON, но нужно включить двоичные данные (загрузка файла, изображение подписи), кодирование в Base64 позволяет включить их как обычное текстовое поле.

Email-вложения: почтовые протоколы (SMTP) текстовые. Каждое вложение кодируется в Base64 за кулисами, чтобы путешествовать как текст.

Заголовки аутентификации: HTTP Basic-аутентификация кодирует пользователь:пароль в Base64 в заголовке Authorization. (Это кодирование, не шифрование — само по себе оно не обеспечивает безопасность.)

Как кодировать и декодировать

  1. Выберите кодировать или декодировать — выберите направление конвертации.
  2. Вставьте текст или импортируйте файл — введите текст напрямую или перетащите файл (до 5 Мб).
  3. Скопируйте результат — вывод обновляется мгновенно. Скопируйте его в буфер обмена.

Когда использовать Base64

Использовать, когда:

Не использовать, когда:

Советы

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

Шифрует ли Base64 мои данные?

Нет. Base64 — это кодирование, а не шифрование. Любой может декодировать Base64-строку — это не обеспечивает никакой безопасности. Если вы хотите защитить данные, используйте настоящее шифрование (AES, RSA и т. д.).

Почему Base64 делает файлы тяжелее?

Base64-кодирование увеличивает размер данных примерно на 33 %. Три двоичных байта становятся четырьмя Base64-символами. Эти накладные расходы — цена за возможность безопасно передавать двоичный код в виде текста.

Можно ли кодировать файлы, а не только текст?

Да. Любой файл (изображения, PDF, аудио) может быть закодирован в Base64. Это обычно используется для встраивания маленьких изображений прямо в HTML или CSS в виде Data URL.

Когда НЕ использовать Base64?

Не используйте его для больших файлов. Изображение 1 Мб становится 1,33 Мб в Base64-тексте, и браузер не может кэшировать его отдельно. Для всего, что больше нескольких Кб, обслужить файл нормально более эффективно.