Qu'est-ce que l'encodage Base64 ?
Le Base64 est un système d'encodage qui transforme des données binaires en texte, en représentant n'importe quelle suite d'octets à l'aide de seulement 64 caractères ASCII imprimables : A-Z, a-z, 0-9, plus + et /. On l'utilise abondamment pour intégrer des images directement dans du HTML/CSS (URI de données), pour joindre des fichiers binaires aux e-mails (MIME), dans les jetons JSON Web Token (JWT) et partout où des données binaires doivent transiter sans encombre par un canal qui n'accepte que du texte. Cet outil encode le texte que vous saisissez : il calcule d'abord les octets UTF-8, puis les encode.
Comment utiliser cet encodeur
Saisissez ou collez votre texte dans le champ prévu, puis validez. Le convertisseur transforme le texte en octets UTF-8, applique l'algorithme Base64 standard et vous renvoie la chaîne encodée, accompagnée du nombre d'octets en entrée et du nombre de caractères en sortie.
La formule expliquée
L'encodeur lit les octets en entrée trois par trois. Trois octets forment 24 bits, qui se répartissent en quatre blocs de 6 bits chacun. Chaque valeur de 6 bits (de 0 à 63) sert d'indice dans l'alphabet pour produire un caractère de sortie. Lorsque la longueur de l'entrée n'est pas un multiple de 3, l'algorithme complète le dernier groupe : un octet restant donne deux caractères suivis de ==, tandis que deux octets restants donnent trois caractères suivis d'un seul =. La longueur de sortie vaut donc toujours $$\text{Base64} = \operatorname{encode}_{64}\!\left(\text{Text}\right), \qquad L_{out} = 4 \left\lceil \frac{L_{in}}{3} \right\rceil$$
Exemple concret
Encodons le texte Man. Ses octets ASCII sont 77, 97, 110 → en binaire 01001101 01100001 01101110. Regroupés en blocs de 6 bits : 010011 = 19 → T, 010110 = 22 → W, 000101 = 5 → F, 101110 = 46 → u. Résultat : TWFu — 3 octets en entrée, 4 caractères en sortie, sans remplissage. \(L_{out} = 4 \left\lceil \frac{3}{3} \right\rceil = 4\)
Questions fréquentes
Pourquoi ma sortie se termine-t-elle par des signes = ? Le remplissage (« padding ») complète le dernier groupe lorsque votre entrée n'est pas un multiple de 3 octets, afin que la longueur de sortie reste un multiple de 4.
Le Base64 chiffre-t-il mes données ? Non. Le Base64 est un encodage, pas un chiffrement : n'importe qui peut le décoder. Il sert uniquement à transporter des données binaires sous forme de texte en toute sécurité.
Pourquoi la sortie est-elle plus volumineuse que l'entrée ? Le Base64 augmente la taille des données d'environ 33 %, car chaque tranche de 3 octets devient 4 caractères.