Декодер Base64
Декодируйте строки, закодированные в Base64, обратно в их оригинальное представление в виде обычного текста или бинарных данных. Поддерживает как стандартный RFC 4648, так и безопасный для URL Base64 алфавиты, включая токены JWT.
Строки Base64 по своей природе непрозрачны - SGVsbG8sIFdvcmxkIQ== не имеет смысла, пока не будет декодировано обратно в Hello, World!. Определенный в RFC 4648, Base64 кодирует каждые 3 входных байта как 4 выходных символа, добавляя примерно 33% накладных расходов. Этот декодер отменяет это, используя нативные atob() и TextDecoder API браузера. Он поддерживает как стандартный Base64, так и безопасный для URL вариант (- и _ вместо + и /), используемый в JWT и токенах OAuth. Ничего не загружается на сервер.
Как декодировать Base64
- Вставьте вашу строку, закодированную в Base64, в поле ввода.
- Выберите режим Стандартный или Безопасный для URL, чтобы соответствовать тому, как данные были изначально закодированы.
- Декодированный обычный текст сразу же появится в панели вывода.
- Нажмите Копировать, чтобы скопировать результат.
Как работает декодирование 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.