Base64 кодирование / декодирование
Кодируйте и декодируйте данные в формате Base64 мгновенно. Вся обработка происходит в вашем браузере — данные не отправляются на сервер.
Файл в 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.