Кодирование / декодирование Base64
Переводите текст в Base64 и обратно с полной поддержкой Unicode — русский текст и эмодзи переживают преобразование без искажений.
Что это такое
Base64 превращает любые байты в безопасную строку из 64 ASCII-символов: A-Z, a-z, 0-9, плюс и слэш, а равно используется как заполнение. Загвоздка в том, что встроенный btoa принимает только Latin-1, и русский текст ломается. Здесь текст сначала переводится в UTF-8-байты, а потом в Base64 — и обратно, поэтому ничего не портится.
Заметки и интересные факты
Base64 повсюду, но его не видно: вложения почты, картинки data URI в CSS, JWT-токены, заголовки авторизации. Если вы когда-нибудь гадали, почему JWT-токен — стена букв и точек, половина этого — просто Base64. Забавно, что Base64 — не шифрование: любой раскодирует его за две секунды. Он нужен лишь для того, чтобы бинарные данные проходили через системы, созданные только для текста.
Происхождение и история
Base64 пришёл из стандарта шифрования почты PEM, опубликованного IETF в RFC 1421 в 1993 году, хотя идеи циркулировали уже в конце 1980-х. Алфавит из 64 символов выбрали, чтобы данные проходили через старые почтовые шлюзы, портившие не-ASCII байты. Позже он вошёл в MIME (1996) и тихо захватил веб.
Похожие запросы
Обратная связь
Нашли проблему с инструментом или есть предложение? Напишите нам на email — мы читаем каждое сообщение.
