Base64 кодировщик / декодировщик (UTF-8 и URL-безопасный)
Введите любой текст или вставьте строку Base64 для преобразования в любом направлении. Обрабатывает UTF-8 (включая эмодзи и CJK) и поддерживает URL-безопасный вариант, используемый в JWT и OAuth.
Как это работает
Что такое Base64 и чем он не является
Base64 кодирует произвольные байты с использованием 64-символьного алфавита (A-Z, a-z, 0-9, +, / с дополнением =). Это стандартный способ встраивания бинарных данных — байтов изображений, зашифрованных блобов, подписанных токенов — в текстовые форматы, такие как JSON, HTML или заголовки email. Вывод примерно на 33% больше входных данных.
Base64 — это кодирование, а не шифрование. Любой может декодировать строку Base64 обратно в исходные байты. Не используйте его для скрытия секретов — для конфиденциальности применяйте настоящий алгоритм шифрования.
URL-безопасный vs стандартный
Стандартный Base64 включает '+' и '/', которые имеют специальное значение в URL и требуют процентного кодирования. URL-безопасный Base64 (RFC 4648 §5) заменяет '+' на '-', '/' на '_' и убирает завершающее дополнение '='. JWT, OAuth токены и многие веб-API используют URL-безопасную форму.
При ручном декодировании JWT или токена включите URL-безопасный режим. При работе с классической электронной почтой или встроенными данными PDF оставьте его выключенным. Декодер принимает обе формы при включённом URL-безопасном режиме.
Обработка UTF-8
Старый браузерный btoa() обрабатывает только ASCII. Этот инструмент использует TextEncoder для сначала преобразования ввода в байты UTF-8, а затем Base64-кодирования этих байт. Это означает, что эмодзи, символы CJK, буквы с диакритическими знаками и любые другие символы Unicode корректно кодируются и декодируются. Подход «байты, затем Base64» используется в библиотеках JWT и большинстве современных фреймворков.
Частые вопросы
›Base64 — это шифрование?
Нет. Это способ кодировать бинарные данные как ASCII-текст. Любой может его декодировать. Используйте настоящее шифрование (AES, RSA и т.д.) для секретности.
›Почему URL-безопасный отличается?
Стандартный Base64 использует '+' и '/', которые имеют специальное значение в URL и требуют процентного кодирования. URL-безопасный Base64 заменяет их на '-' и '_', чтобы избежать этого.
›Можно ли декодировать подпись JWT?
Декодирование подписи даёт сырые байты подписи, но они предназначены для проверки, а не для чтения человеком. Декодируйте заголовок и полезную нагрузку JWT (первые два сегмента), чтобы увидеть данные.
›Работает ли это для бинарных файлов?
Не напрямую — вставляйте только текст. Для файлов используйте инструмент, поддерживающий бинарные данные. (В DevTools большинства браузеров есть пара atob/btoa для небольших файлов.)
›Почему мой декодированный текст выглядит искажённым?
Либо ввод не является корректным Base64, либо он кодировал байты не в UTF-8 (например, файл Latin-1). Проверьте исходную кодировку. Инструменты, декодирующие «как текст», предполагают UTF-8.
›Данные куда-либо отправляются?
Нет. Кодирование и декодирование выполняются полностью в вашем браузере.
›Какие накладные расходы по размеру?
Примерно на 33% больше исходных байт (каждые 3 входных байта становятся 4 выходными символами). URL-безопасный вариант без дополнения имеет те же накладные расходы.
›Почему важно дополнение?
Стандартный Base64 дополняет конец символами '=', чтобы длина была кратна 4. URL-безопасные версии часто пропускают его, поскольку для декодирования оно не нужно.
Похожие инструменты
Обновлено: