Кодирование и декодирование Base64 / Base64URL
Кодируйте UTF-8 и строго декодируйте Base64 и Base64URL локально.
Принцип и пример
Base64 объединяет байты в тройки и представляет каждую четырьмя символами. Текст сначала переводится в байты UTF-8. Например, foo даёт Zm9v; f даёт Zg== в стандартном Base64 и Zg в Base64URL. Стандартный алфавит использует + и / и требует необходимое дополнение =. Base64URL использует - и _, выдаётся без дополнения и принимает либо его отсутствие, либо строго правильное дополнение. Декодер отклоняет пробелы, переводы строк, смешанные алфавиты, неверные длину, дополнение и ненулевые хвостовые биты. Переводы строк исходного текста сохраняются при кодировании и обратном преобразовании. Неверный UTF-8 и непарные суррогаты отклоняются. Base64 — кодировка, а не шифрование.
Ограничения и приватность
Лимит текста — 1 МиБ декодированного UTF-8 (до 1 398 104 символов ASCII в кодировке). JWT — 100 КиБ, вложенность JSON до 200. Только текст: файлы и data URI не поддерживаются. Ввод и результаты остаются в памяти страницы, не попадают в параметры URL, хранилища, журналы и аналитику. Ключи, подпись, запросы JWKS и проверка подписи не используются. Изменение ввода сбрасывает результат. Очистка удаляет состояние страницы; копирование помещает только выбранный результат в буфер обмена, историей которого управляет устройство. Перезагрузка очищает инструмент; расширения браузера и устройство находятся вне его контроля.