Кодирует текст в Base64 или декодирует обратно, используя только 64 печатных символа ASCII, благодаря чему двоичные и не-ASCII данные без потерь проходят через каналы, рассчитанные на обычный текст: вложения писем, поля JSON, URI вида data:. Текст обрабатывается как UTF-8, поэтому эмодзи и кириллица возвращаются корректно — Base64 не является шифрованием и увеличивает объём примерно на 33%.
Что такое Base64?
Base64 кодирует произвольные байты, используя всего 64 печатных ASCII-символа, поэтому двоичные данные (или текст не в ASCII) могут безопасно проходить через каналы, рассчитанные на обычный текст — вложения электронной почты, поля JSON, data: URI, встроенные в CSS/HTML, и так далее. Это не шифрование, и объём увеличивается примерно на 33%; это лишь текстобезопасное представление. Текст здесь кодируется в UTF-8, поэтому эмодзи и нелатинские алфавиты преобразуются в обе стороны корректно.
Как кодировать и декодировать Base64
- Введите текст — в поле «Текст ⇄ Base64» введите строку для кодирования или вставьте Base64 для декодирования.
- Выберите направление — нажмите кнопку «Кодировать →» или «← Декодировать».
- Преобразуйте файл — чтобы превратить файл в Base64, перетащите его в область «Файл → Base64» или нажмите, чтобы выбрать.
- Скопируйте — кнопкой «Копировать» поместите результат в буфер обмена. Для файлов флажком можно выбрать, добавлять ли префикс
data:URI.
Что такое data: URI?
data: URI встраивает содержимое файла прямо в документ без отдельной ссылки: за data:[MIME-тип];base64, следуют сами данные в Base64. Например, data:image/png;base64,iVBOR… можно вставить прямо в CSS-свойство background или в <img src>, чтобы показать небольшое изображение без дополнительного запроса. Если нужен «сырой» Base64 без префикса, снимите флажок.
Base64 — это шифрование?
Нет. Base64 — это лишь кодирование, а не шифрование. Кто угодно может мгновенно вернуть исходные данные без всякого ключа, поэтому оно не обеспечивает защиты. Хотя результат выглядит нечитаемым для человека, нельзя хранить или передавать пароли и конфиденциальные данные, просто обернув их в Base64.
Почему увеличивается размер?
Base64 представляет 3 байта (24 бита) четырьмя символами, поэтому данные увеличиваются примерно на 33%. Это неизбежные накладные расходы, ведь каждый символ несёт только 6 бит; если добавить переносы строк или префикс data:, размер может вырасти ещё немного.
Загружаются ли мои данные?
Нет. Кодирование и декодирование выполняются целиком в вашем браузере с помощью встроенных API btoa/atob и FileReader — ничего не отправляется на сервер. Для файлов результат представляет собой data: URI, который можно вставить прямо в таблицу стилей или тег изображения; снимите флажок, если вам нужен только «сырой» Base64. Если декодирование не удаётся, значит, ввод не является корректным Base64 (или это не корректный текст в UTF-8) — и вы увидите понятное сообщение.