Base64 expliqué

Base64 revient partout : pièces jointes d'e-mail, jetons, images intégrées dans du HTML. Pourtant il est souvent mal compris. Base64 n'est ni du chiffrement ni de la compression : c'est un encodage, une façon de représenter des données binaires avec du texte.

Le principe

Un fichier binaire contient des octets qui ne survivent pas toujours à un canal prévu pour du texte - un corps d'e-mail, une URL, un JSON. Base64 regroupe les bits par paquets de 6 et les traduit avec un alphabet de 64 caractères sûrs (A-Z, a-z, 0-9, + et /). Le résultat ne contient que des caractères imprimables, transportables sans dommage.

💡 Anecdote - Les URL et les JWT utilisent une variante, base64url, qui remplace les caractères + et / par - et _ pour rester sûrs à l'intérieur d'une adresse.

Le coût : environ +33 %

Coder 3 octets (24 bits) produit 4 caractères : la sortie pèse donc à peu près un tiers de plus que l'entrée. C'est le prix de la portabilité. Sur une grosse image intégrée en data:, ce surpoids n'est pas négligeable - à mettre en balance avec l'économie d'une requête réseau.

Quand l'utiliser (et quand non)

Utile pour : intégrer une petite image ou une police dans du CSS/HTML, transporter un binaire dans un champ texte, afficher le contenu décodé d'un JWT. Inutile, voire dangereux, comme « sécurité » : Base64 se décode instantanément, il ne protège rien. Pour encoder ou décoder une valeur sans rien envoyer en ligne, notre outil Base64 fait tout dans votre navigateur

🤓 Le saviez-vous ? Base64 doit son existence à l'e-mail : les anciens serveurs SMTP ne transportaient que du texte 7 bits, incapables d'acheminer un fichier binaire. Encoder les pièces jointes en Base64 a résolu le problème - et la méthode est restée.