Как закодировать текст в Base64
- Введите или вставьте текст в поле Ввод либо откройте файл.
- Выберите кодировку (UTF-8 подходит для любого языка и эмодзи), а при необходимости — URL-safe вариант или перенос строк каждые 76 символов.
- Скопируйте результат в Base64 или скачайте его как текстовый файл.
Как работает кодирование Base64
Кодировщик представляет ваш текст в виде байтов, делит их на группы по 3 байта (24 бита) и превращает каждую группу в 4 символа из алфавита на 64 знака. Если последняя группа неполная, в конец добавляются знаки = для дополнения. Поэтому результат в Base64 примерно на 33% больше исходных данных: Man превращается в TWFu.
Кодирование в Base64 в популярных языках программирования
- JavaScript:
btoa(String.fromCharCode(...new TextEncoder().encode(text))) - Python:
base64.b64encode(text.encode()).decode() - PHP:
base64_encode($text) - Java:
Base64.getEncoder().encodeToString(text.getBytes(UTF_8)) - Linux/macOS:
echo -n 'text' | base64
Часто задаваемые вопросы
Почему результат в Base64 длиннее исходного текста?
Base64 записывает каждые 3 байта четырьмя символами, поэтому результат примерно в 4/3 раза больше исходных данных плюс символы дополнения. Нелатинские символы, включая кириллицу, занимают в UTF-8 2–4 байта, поэтому в Base64 они получаются ещё длиннее.
Что означают знаки = в конце?
Это дополнение (padding). Один знак = означает, что в последней группе было 2 байта, два знака == — что был 1 байт. В URL-safe Base64 их часто опускают.
Можно ли закодировать в Base64 эмодзи и кириллицу?
Да. Оставьте кодировку UTF-8 — и любой язык, символ или эмодзи будет закодирован корректно и без проблем декодируется в любой системе.
Когда нужно включать перенос строк каждые 76 символов?
Только для электронной почты (MIME) и некоторых PEM-сертификатов, где строки должны быть разбиты. Для API, JSON, URL и data URI оставьте эту опцию выключенной.