Обычный Base64 и URL-safe Base64
Алфавиты +/ и -_, padding и когда URL-safe нужен в query и сегментах JWT.
Обычный Base64 использует + и /. В query string у них другой смысл, поэтому копипаст в URL ломается. URL-safe меняет их на - и _, часто без padding =.
Header и payload JWT это Base64URL без padding. Вложения почты и многие data URL всё ещё классический алфавит с padding. Неверный вариант даёт мусор или ошибку.
В студии алфавит переключается. Строка из JWT остаётся URL-safe. Строка из MIME остаётся стандартной. Кодирование в обоих случаях не шифрование.
Обычный Base64 использует + и /, может содержать = и переносы строк. URL-safe использует - и _, чтобы строка пережила query или имя файла. Они не взаимозаменяемы, пока не сопоставите алфавиты и не вернёте дополнение. JWT берёт URL-safe. Здесь разница. В конвертере алфавит переключается.
| Признак | Стандартный | URL-safe |
|---|---|---|
| Алфавит | + и / | - и _ |
| Padding | Часто заканчивается на = | В JWT сегментах обычно нет |
| Где | MIME, многие data URL | Query string, JWT header/payload |
Частые вопросы
Можно смешать?
Не в одной строке. Перекодируйте алфавитом, который ждёт потребитель.
Padding?
Стандарт часто заканчивается на =. Сегменты JWT обычно без padding.
