Base64URL представляет те же байты, что и Base64, но заменяет два символа. Decodex декодирует текст UTF-8 из обоих форматов. Ни один из них не является шифрованием.
Алфавит и заполнение
Base64 использует + и /, а Base64URL — - и _. Буквы и цифры не меняются. Сохранение знака заполнения = зависит от протокола. По строке только из букв и цифр нельзя определить, какой алфавит использован.
Осторожно с параметрами URL
В application/x-www-form-urlencoded знак + может превратиться в пробел. Создавайте параметры через URLSearchParams. Если + уже потерян, декодер не может восстановить его достоверно. 😀 даёт 8J+YgA== в Base64 и 8J-YgA== в Base64URL.
Преобразование и проверка
После кодирования замените + на - и / на _. Удаляйте конечные = только если протокол это разрешает. Decodex создаёт обычный Base64 с заполнением и принимает Base64URL при декодировании. Чтение сегмента JWT не проверяет подпись, срок действия или права доступа.
Проверить пример
| Формат | Текст | Base64 |
|---|---|---|
Base64 | 😀 | 8J+YgA== |
Base64URL | 😀 | 8J-YgA== |
Base64URL (JWT) | 😀 | 8J-YgA |
Частые вопросы
Всегда ли Base64URL исключает =?
Нет. Следуйте формату принимающей системы. В Decodex строка 8J-YgA без заполнения также даёт 😀.
