+ par -, / par _ et élimine le remplissage = (RFC 4648 §5).Comment ça marche
Base64 représente les données à l'aide de 64 caractères ASCII imprimables. Chaque 3 octets d'entrée deviennent 4 caractères, c'est pourquoi le résultat occupe environ 33 % de plus que l'original.
Ce n'est ni du chiffrement ni de la compression : c'est un encodage réversible que n'importe qui peut décoder. Il sert à transporter des données binaires sur des canaux prévus uniquement pour du texte.
La variante URL-safe (RFC 4648 §5) utilise - et _ au lieu de + et /, et omet le remplissage =, afin de pouvoir inclure le résultat dans les URL et les noms de fichier sans l'échapper.
Exemples
Hello WorldSGVsbG8gV29ybGQ=CaféQ2Fmw6k=En UTF-8, les caractères non ASCII occupent plus d'un octet, c'est pourquoi « é » ajoute deux octets.>>>?estándar: Pj4+Pw== · URL-safe: Pj4-PwLa variante URL-safe remplace + et / par - et _, et supprime le remplissage =.Cas d'usage
- Intégrer des images, des polices ou des icônes directement dans HTML/CSS via des data URIs.
- Envoyer des pièces jointes par e-mail (MIME) ou des données binaires à l'intérieur d'un JSON.
- Stocker des clés, des certificats ou des jetons dans des variables d'environnement et des fichiers de configuration.
- Encoder des identifiants pour l'en-tête Authorization: Basic de HTTP.
Questions fréquentes
Base64 est-il une méthode de chiffrement ?
Non. C'est un encodage réversible sans clé : n'importe qui peut le décoder. Il n'apporte aucune sécurité ; pour protéger des données, il faut les chiffrer.
Pourquoi le résultat se termine-t-il par « = » ?
Le « = » est un remplissage (padding) pour compléter des blocs de 4 caractères lorsque l'entrée n'est pas un multiple de 3 octets. La variante URL-safe l'omet.
Quand la variante URL-safe est-elle préférable ?
Lorsque la valeur va dans une URL, un nom de fichier ou un identifiant, car les caractères + et / ont une signification spéciale dans ces contextes.
Pourquoi le texte encodé est-il plus long que l'original ?
Parce qu'il utilise 4 caractères pour chaque 3 octets d'entrée, donc la taille augmente d'environ 33 %.
Mon texte est-il envoyé sur un serveur ?
Non. L'encodage et le décodage se font entièrement dans votre navigateur.