Les deux variantes transforment les mêmes octets en symboles de six bits, mais ne publient pas toujours le même texte. Base64 standard utilise plus et barre oblique ; base64url les remplace par tiret et souligné pour les URL et noms de fichiers. Notez la variante avant de décoder : une chaîne seulement alphanumérique ne prouve pas quel contrat l’a produite.

Deux symboles définissent la différence

En Base64 standard, la valeur 62 utilise plus et 63 barre oblique. Base64url utilise tiret et souligné. Pour Hello>? en UTF-8, la sortie standard avec remplissage est SGVsbG8+Pw== et base64url sans remplissage SGVsbG8-Pw. Les autres symboles coïncident. Base64Lens refuse un caractère de l’autre alphabet afin d’exposer un mauvais contrat d’intégration.

Le remplissage est un choix distinct

Le signe égal ne fait pas partie des 64 symboles de données. Il complète le dernier groupe de quatre lorsqu’il reste un ou deux octets. De nombreux profils standard exigent le remplissage, tandis que des profils base64url l’omettent lorsque la longueur est connue. Le protocole décide, pas l’apparence. Base64Lens impose donc un choix explicite et n’ajoute ni ne retire les signes égal.

Base64URL ne valide pas les jetons

JWT et d’autres formats de sécurité peuvent utiliser base64url sans remplissage, mais décoder un champ ne vérifie ni signature, émetteur, audience, expiration ou confiance. Base64Lens accepte une seule valeur et renvoie du texte UTF-8. Il ne découpe pas les jetons, n’interprète pas les claims et ne certifie pas le contenu. Utilisez une bibliothèque fiable du protocole pour valider.