Как кодировать и декодировать текст в Base64
Введите текст, выберите кодирование или декодирование и подходящий алфавит Base64, затем запустите преобразование. Для кириллицы учитывайте обработку UTF-8, а для собственного алфавита проверьте наличие ровно 64 уникальных символов.
Что делает конвертер Base64
Base64 Advanced предназначен для преобразования текста между исходным и закодированным представлением. Он подходит, когда нужно получить Base64-представление текстовой строки или проверить, какой текст скрывается за уже закодированной строкой. Доступны стандартный и URL-безопасный алфавиты, поэтому выбор зависит от того, где вы собираетесь использовать результат.
Инструмент работает именно с текстом: перед кодированием исходные символы преобразуются в UTF-8, а при декодировании полученные байты интерпретируются как текст UTF-8. Это важно для русского языка, эмодзи и других символов за пределами латиницы: результат следует проверять как текст, а не сравнивать с побайтовым представлением другой кодировки. По умолчанию выбран режим кодирования, но его можно сменить на декодирование.
Как закодировать или декодировать текст
-
Вставьте исходную текстовую строку в поле ввода. Для кодирования это обычный текст, например
Привет, мир!; для декодирования вставьте строку Base64. Пустое поле не подходит: операция завершится ошибкой. -
Выберите режим. Оставьте кодирование, если хотите преобразовать текст в Base64. Переключитесь на декодирование, если у вас уже есть закодированная строка и нужно получить текст обратно. Поддерживаются только два режима:
encodeиdecode; другое значение приводит к ошибке. -
Выберите алфавит. Стандартный вариант подходит для обычного Base64. URL-безопасный вариант предназначен для случаев, когда результат будет использоваться в URL или другом контексте, где нужен соответствующий вариант Base64. Если вы применяете собственный алфавит, укажите ровно 64 различных символа. Повторяющийся символ, пропуск или другое количество символов делает такой алфавит недействительным.
-
Запустите преобразование и прочитайте результат. При кодировании инструмент сначала переводит введённый текст в UTF-8, затем выполняет преобразование Base64. При декодировании результат трактуется как текст UTF-8. Поэтому при работе с кириллицей вставляйте исходную фразу без предварительной ручной перекодировки.
-
Если декодируемая строка не заканчивается нужным количеством символов, инструмент добавляет знаки равенства, чтобы её длина стала кратной четырём, и продолжает декодирование. Это не означает, что исходную строку нужно заранее дополнять вручную. Если вы кодировали данные собственным алфавитом, для обратного преобразования снова выберите тот же допустимый алфавит: только так проверенный сценарий обратного преобразования возвращает исходный текст.
Как проверить результат и понять ошибку
Результат кодирования представляет собой текстовую строку в выбранном варианте Base64, а результат декодирования должен быть читаемым исходным текстом, если закодированные данные соответствуют тексту UTF-8. Для русской фразы полезно сравнить декодированный результат с исходной строкой посимвольно, включая пробелы, знаки препинания и регистр.
Если после декодирования видны неожиданные символы, сначала проверьте три условия: выбран ли режим декодирования, совпадает ли алфавит с тем, который использовался при кодировании, и действительно ли результат должен интерпретироваться как UTF-8-текст. При использовании собственного алфавита проверяйте не только его длину, но и отсутствие повторов. Алфавит из 64 символов, содержащий дубликат, не проходит проверку.
Base64 не превращает произвольный файл или бинарное содержимое в обычный текстовый результат в рамках описанного сценария: здесь заявлено преобразование текста с обработкой UTF-8. Также не следует ожидать, что разные алфавиты дадут одинаковую строку: URL-безопасный и пользовательский варианты меняют представление, а для обратного преобразования нужен соответствующий выбор алфавита. Пустой ввод остаётся ошибкой независимо от выбранного направления операции.
Практический пример
Разработчик проверяет, что русская приветственная фраза корректно проходит преобразование в Base64 и обратно.
Введите «Привет, мир!», оставьте режим кодирования и стандартный алфавит, запустите преобразование, затем используйте полученную строку в режиме декодирования.
После кодирования появляется строка Base64, а после декодирования этой строки с тем же алфавитом возвращается исходная фраза.
Ограничения
- Описанный сценарий предназначен для преобразования текста с обработкой UTF-8; он не устанавливает правила для произвольных бинарных данных или других кодировок.
Частые ошибки
- Причина: в собственном алфавите не ровно 64 уникальных символа или при декодировании выбран другой алфавит. Исправление: удалите повторы, проверьте количество символов и используйте тот же допустимый алфавит, который применялся при кодировании.
Частые вопросы
Можно ли кодировать русский текст в Base64?
Да, русский текст поддерживается как текст UTF-8: при кодировании строка сначала преобразуется в UTF-8, а при декодировании байты преобразуются обратно в текст UTF-8. Сравнивайте результат с исходной фразой с учётом регистра и знаков препинания.
Можно ли задать собственный алфавит Base64?
Да, но собственный вариант должен содержать ровно 64 уникальных символа. Для декодирования выберите тот же допустимый алфавит, который использовался при кодировании, иначе обратное преобразование может дать другой результат или не пройти проверку.
Нужно ли вручную добавлять знаки равенства при декодировании?
Если строка при декодировании не дополнена до длины, кратной четырём, инструмент добавляет знаки равенства перед декодированием. Пустой ввод не считается допустимым и приводит к ошибке.