onlinetools.dev

Base64: кодирование / декодирование

Преобразуйте текст в Base64 и обратно, включая URL-safe вариант

Работает локально
loading…
Об этом инструменте

Base64 превращает произвольные байты в алфавит из 64 символов, который переживает вставку в JSON, URL, HTTP-заголовки и почту. Этот инструмент работает в обе стороны: наберите или вставьте текст, чтобы закодировать его, либо вставьте закодированный блок, чтобы получить оригинал. UTF-8 корректно обрабатывается в обоих направлениях, поэтому эмодзи и нелатинские письменности проходят туда и обратно без искажений.

Декодер намеренно снисходителен: он принимает URL-safe алфавит (- и _ вместо + и /), убирает пробелы и переводы строк и восстанавливает отсутствующее выравнивание перед декодированием — три причины, из-за которых более строгие декодеры чаще всего отвергают вполне восстановимый ввод. Если декодированные байты не являются корректным текстом UTF-8, инструмент сообщает об этом, а не выводит мусор — обычно это означает, что данные бинарные, например изображение.

Всё происходит на странице. Декодирование токена или учётных данных здесь никуда их не передаёт.

Частые вопросы

Почему моя строка Base64 заканчивается знаками =?
Base64 кодирует 3 байта в 4 символа, поэтому когда длина ввода не кратна 3, вывод дополняется знаками = для выравнивания групп. Заполнение не несёт данных; этот декодер восстанавливает его автоматически, если оно было удалено.
В чём разница между стандартным и URL-safe Base64?
Стандартный Base64 использует + и /, которые имеют особое значение в URL и сами требуют экранирования. URL-safe вариант (RFC 4648 §5) заменяет их на - и _ и обычно опускает заполнение. Например, JWT используют именно URL-safe форму. Кодировщик здесь предлагает оба варианта; декодер принимает любой автоматически.
Является ли Base64 шифрованием?
Нет. Base64 — обратимое кодирование без ключа, декодировать его может кто угодно. Оно защищает данные от повреждения при передаче, а не от прочтения. Если нужна конфиденциальность, сначала зашифруйте, а потом закодируйте шифротекст.
Почему при декодировании сообщается, что результат — не корректный UTF-8?
Сама строка декодировалась успешно, но полученные байты — не текст: часто это PNG, PDF или сжатые/зашифрованные данные. Вывод такого содержимого в текстовое поле показал бы кракозябры, поэтому инструмент вместо этого предупреждает.
Похожие инструменты