ByteCompress

Декодер Base64

Декодируйте строки, закодированные в Base64, обратно в их оригинальное представление в виде обычного текста или бинарных данных. Поддерживает как стандартный RFC 4648, так и безопасный для URL Base64 алфавиты, включая токены JWT.

0 chars
FreeClient-sideNo signup

Строки Base64 по своей природе непрозрачны - SGVsbG8sIFdvcmxkIQ== не имеет смысла, пока не будет декодировано обратно в Hello, World!. Определенный в RFC 4648, Base64 кодирует каждые 3 входных байта как 4 выходных символа, добавляя примерно 33% накладных расходов. Этот декодер отменяет это, используя нативные atob() и TextDecoder API браузера. Он поддерживает как стандартный Base64, так и безопасный для URL вариант (- и _ вместо + и /), используемый в JWT и токенах OAuth. Ничего не загружается на сервер.

Как декодировать Base64

  1. Вставьте вашу строку, закодированную в Base64, в поле ввода.
  2. Выберите режим Стандартный или Безопасный для URL, чтобы соответствовать тому, как данные были изначально закодированы.
  3. Декодированный обычный текст сразу же появится в панели вывода.
  4. Нажмите Копировать, чтобы скопировать результат.

Как работает декодирование Base64

Процесс декодирования

Декодирование точно противоположно кодированию. Каждый символ Base64 сопоставляется обратно со своим 6-битным значением с использованием таблицы алфавита. Четыре последовательных символа (24 бита) восстанавливают три байта. Функция atob() браузера обрабатывает стандартный Base64 нативно. Для безопасного для URL Base64 - и _ преобразуются обратно в + и / перед декодированием. Полученная последовательность байтов UTF-8 затем декодируется в строку Unicode с использованием TextDecoder.

Обработка недостающего дополнения

Стандартный Base64 требует дополнения =, чтобы длина строки была кратна 4. JWT и токены OAuth удаляют дополнение, чтобы уменьшить размер. Этот декодер автоматически вычисляет и добавляет необходимое дополнение в зависимости от длины строки. Если длина строки по модулю 4 равна 2, требуется один =; если 3, то два = символа.

Пример

Ввод (Стандартный Base64)

SGVsbG8sIFdvcmxkIQ==

Вывод

Hello, World!

Распространенные случаи использования

  • Проверка токена JWT - декодируйте заголовок и полезную нагрузку, чтобы прочитать утверждения без библиотеки
  • HTTP Basic Auth - декодируйте Authorization: Basic dXNlcjpwYXNz заголовки, чтобы проверить встроенные учетные данные
  • Проверка Data URI - декодируйте часть Base64 data:image/png;base64,... URI
  • Отладка ответа API - некоторые API кодируют бинарное содержимое в JSON ответах в Base64

Лучшие практики

  • Выберите правильный режим (Стандартный или Безопасный для URL) - использование неправильного режима приводит к искажению вывода
  • Для токенов JWT декодируйте только заголовок (первая часть) и полезную нагрузку (вторая часть); третья часть - это криптографическая подпись, а не закодированный текст
  • Если вывод состоит из нечитаемых символов, исходные данные были бинарными (изображение, PDF и т.д.), а не текстом
  • Декодирование Base64 не является проверкой безопасности - любой может его декодировать

Чтобы закодировать текст обратно в Base64, используйте Кодировщик Base64. Для URL-кодированных данных используйте Декодер URL. Чтобы полностью проверить JWT, декодируйте первые две части, разделенные точками, отдельно, выбрав режим безопасного для URL.

Часто задаваемые вопросы

Как мне декодировать токен JWT с помощью этого инструмента?

JWT состоит из трех частей, разделенных точками: header.payload.signature. Скопируйте заголовок (первая часть) или полезную нагрузку (вторая часть), выберите режим безопасный для URL и вставьте в декодер. Результат - это объект JSON с алгоритмом (заголовок) или утверждениями (полезная нагрузка). Не декодируйте подпись - это криптографический хэш, а не строка JSON, закодированная в Base64.

Почему мой декодированный вывод показывает странные символы?

Это может означать одно из трех: (1) исходные данные были бинарными (изображение, PDF, zip), а не текстом; (2) вы выбрали неправильный режим - попробуйте переключиться между стандартным и безопасным для URL; (3) исходный текст был закодирован с использованием кодировки, отличной от UTF-8. Сначала попробуйте переключить режимы. Если результат все еще нечитаем, вероятно, исходные данные были бинарными.

Нужны ли мне символы дополнения (==) для работы декодирования?

Стандартный Base64 требует дополнения, чтобы длина строки была кратна 4. Этот декодер автоматически добавляет недостающее дополнение, что важно для токенов JWT и OAuth, которые удаляют завершающие = символы. Вставьте строку как есть, и декодер автоматически обработает дополнение.

Безопасны ли мои конфиденциальные данные при декодировании здесь?

Да. Декодирование полностью выполняется в вашем браузере с использованием нативных atob() и TextDecoder API. Токены, учетные данные и личные данные, которые вы вставляете, никогда не отправляются на сервер, никогда не регистрируются и никогда не хранятся. Откройте вкладку Сеть в браузере во время декодирования, и вы увидите ноль исходящих запросов.

В чем разница между стандартным и безопасным для URL Base64?

Стандартный Base64 (RFC 4648 §4) использует + и /. Безопасный для URL Base64 (RFC 4648 §5) заменяет их на - и , чтобы избежать конфликтов в URL, именах файлов и HTTP заголовках. JWT, токены OAuth и проверяющие коды PKCE все используют безопасный для URL Base64. Если ваша строка содержит - или , выберите режим безопасного для URL.