Base64URL représente les mêmes octets que Base64, mais remplace deux caractères. Decodex accepte les deux alphabets pour décoder du texte UTF-8. Ni Base64 ni Base64URL ne chiffrent les données.
Alphabet et remplissage
Base64 utilise + et / ; Base64URL utilise - et _. Les lettres et les chiffres restent identiques. Le remplissage = dépend du protocole : il peut être conservé ou omis. Une chaîne uniquement alphanumérique ne permet pas de distinguer les deux formats.
Attention aux paramètres URL
Dans application/x-www-form-urlencoded, + peut devenir un espace. Utilisez URLSearchParams pour construire les paramètres sans perdre les caractères. Si le + a déjà disparu, le décodage ne peut pas le reconstituer avec certitude. 😀 donne 8J+YgA== en Base64 et 8J-YgA== en Base64URL.
Convertir et vérifier
Après l’encodage, remplacez + par - et / par _. Supprimez les = finaux uniquement si le protocole l’autorise. Decodex produit du Base64 standard avec remplissage et accepte Base64URL au décodage. Lire un segment JWT ne vérifie ni sa signature ni son expiration.
Essayer cet exemple
| Format | Texte | Base64 |
|---|---|---|
Base64 | 😀 | 8J+YgA== |
Base64URL | 😀 | 8J-YgA== |
Base64URL (JWT) | 😀 | 8J-YgA |
Questions fréquentes
Base64URL exclut-il toujours le signe = ?
Non. Respectez le format attendu par le destinataire. Dans Decodex, 8J-YgA sans remplissage redonne 😀.
Références
Autres guides Base64
Remplissage Base64 : pourquoi = ou == ?
Comprendre le remplissage Base64, les longueurs invalides et les différences entre Zg, Zg= et Zg==.
Base64 en JavaScript : Unicode et erreur btoa
Encoder et décoder du texte Unicode avec TextEncoder, btoa, atob et TextDecoder, sans perdre les accents ou les emojis.
