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

Кодируйте и декодируйте данные в формате Base64 мгновенно. Вся обработка происходит в вашем браузере — данные не отправляются на сервер.

0 символов

Файл в Base64

Что такое Base64?

Base64 — это схема кодирования, которая представляет двоичные данные в виде строки из печатных ASCII-символов. Формат описан в стандарте RFC 4648 и является одним из самых распространённых способов кодирования в вебе.

Base64 — это не шифрование и не защита данных. Любой может декодировать строку Base64 обратно. Задача формата — сделать двоичные данные пригодными для передачи по текстовым каналам связи.

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

Алгоритм кодирования берёт группы по 3 байта (24 бита) и разделяет их на 4 группы по 6 бит. Каждая группа соответствует одному из 64 печатных символов: A-Z (26), a-z (26), 0-9 (10) и два символа + и /. Символ = используется для дополнения, когда длина входных данных не кратна 3.

Из-за этого кодирование Base64 увеличивает объём данных примерно на 33%: каждые 3 байта входных данных превращаются в 4 байта на выходе. Несмотря на это, Base64 остаётся незаменимым в ситуациях, когда двоичные данные должны пройти через текстовые системы.

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

  • Data URI — встраивание изображений, шрифтов и других ресурсов непосредственно в HTML и CSS без дополнительных HTTP-запросов
  • Вложения электронной почты — MIME-кодирование использует Base64 для передачи файлов через текстовый протокол SMTP
  • Передача данных через API — отправка двоичных данных (изображения, PDF и т. д.) в формате JSON и XML
  • Сертификаты и ключи — формат PEM хранит сертификаты X.509 и ключи RSA в виде Base64 между заголовками BEGIN/END
  • JWT-токены — в JSON Web Token заголовок и полезная нагрузка кодируются в Base64url
  • Basic-аутентификация — HTTP Basic Auth передаёт учётные данные в виде логин:пароль, закодированных в Base64

Base64 и Base64url — в чём разница

Стандартный Base64 использует символы + и /, которые имеют специальное значение в URL-адресах. Вариант Base64url заменяет их на - и _ соответственно и не использует символы дополнения (=). Этот формат применяется в JWT, именах файлов и параметрах URL.

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

Base64 — это шифрование?
Нет. Base64 — это схема кодирования, а не шифрования. Для декодирования не нужен ключ, и любой может прочитать содержимое. Никогда не используйте Base64 для защиты конфиденциальных данных — для этого применяйте настоящее шифрование, например AES.
Почему Base64 увеличивает размер данных?
Base64 представляет каждые 3 байта данных четырьмя ASCII-символами, что даёт увеличение объёма примерно на 33%. Это компромисс ради совместимости двоичных данных с текстовыми протоколами.
Мои файлы загружаются на сервер?
Нет. Вся обработка — кодирование и декодирование — выполняется исключительно в вашем браузере на JavaScript. Файлы не покидают ваше устройство.