Base64 : des données binaires sous forme de texte
Certains endroits n’acceptent que du texte : l’e-mail, le JSON, les attributs HTML. Le Base64 transforme n’importe quelle donnée en 64 caractères sûrs (A–Z, a–z, 0–9, + et /) pour qu’elle y passe sans altération. « Hello » devient SGVsbG8=.
- Chaque groupe de 3 octets devient 4 caractères, le Base64 est donc environ 33 % plus gros que l’original.
- Les signes = à la fin complètent la sortie jusqu’à un multiple de 4 caractères.
- La variante adaptée aux URL utilise - et _ à la place de + et /, qui ont un sens particulier dans les adresses web.
Ce n’est pas du chiffrement
N’importe qui peut décoder du Base64 : il n’y a pas de clé. Ne l’utilisez jamais pour cacher un mot de passe ou un autre secret.
Les data URI
Une petite image peut s’écrire directement dans le HTML ou le CSS sous la forme data:image/png;base64, suivie de son texte en Base64, ce qui évite un téléchargement séparé. À cause de l’augmentation de taille, ce n’est intéressant que pour de petites icônes. L’outil Image en Base64 crée la data URI pour vous, ou retransforme une data URI en image.
L’encodage d’URL, c’est autre chose
L’encodage d’URL (encodage pourcent) ne remplace que les caractères interdits ou ayant un sens particulier dans une adresse web, chacun par % et la valeur de son octet. « café & crème » devient caf%C3%A9%20%26%20cr%C3%A8me : l’espace donne %20, & donne %26 et é, qui occupe deux octets en UTF-8, donne %C3%A9. Tout le reste reste lisible.
Encodez et décodez du texte avec Encoder/décoder en Base64 et Encoder/décoder une URL.