Оба варианта превращают одни байты в шестибитные символы, но не всегда дают одинаковый текст. Обычный Base64 использует плюс и слэш, а base64url заменяет их дефисом и подчёркиванием для URL и имён файлов. Зафиксируйте вариант до декодирования: строка только из общих букв и цифр не доказывает, какой контракт её создал.

Разницу задают два символа

В обычном Base64 значение 62 соответствует плюсу, а 63 — слэшу. В base64url это дефис и подчёркивание. Для UTF-8-текста Hello>? обычный результат с padding равен SGVsbG8+Pw==, а base64url без padding — SGVsbG8-Pw. Остальные символы совпадают. Base64Lens отклоняет символ другого алфавита, чтобы несовпадение контрактов было видно.

Padding — отдельный явный выбор

Знак равенства не входит в 64 символа данных. Он дополняет последнюю четвёрку, когда остаётся один или два исходных байта. Стандартные профили часто требуют канонический padding, а base64url-профили нередко опускают его при известной длине. Это задаёт внешний протокол, а не вид строки. Поэтому Base64Lens требует явный выбор и не добавляет либо удаляет равенства скрыто.

Base64URL не проверяет токены

JWT и другие форматы безопасности могут использовать base64url без padding, но декодирование поля не проверяет подпись, издателя, аудиторию, срок или цепочку доверия. Base64Lens принимает одно текстовое значение и возвращает UTF-8. Он не делит токены, не толкует claims и не подтверждает содержимое. Для проверки используйте доверенную библиотеку конкретного протокола.