🔧Toolify

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-безопасные версии часто пропускают его, поскольку для декодирования оно не нужно.

Похожие инструменты

Обновлено:

Попробуйте наши ИИ-промпты →