Base64 est un moyen de représenter des données binaires avec des caractères de texte ordinaires. Une image, un document ou un morceau de texte peuvent tous être représentés sous forme d'octets. Lorsqu'un système a besoin de ces octets dans un champ de texte, Base64 fournit une orthographe réversible que le récepteur peut décoder ultérieurement.
Un petit exemple
Le texte Hello contient cinq ASCII octets. L'encodage de ces octets produit SGVsbG8=. Le décodage de cette valeur renvoie les mêmes cinq octets, qui peuvent ensuite être lus comme le texte original. Le signe égal appartient au groupe final du codage ; cela ne fait pas partie du mot Bonjour.
Text: Hello
Bytes in Hex: 48 65 6c 6c 6f
Base64: SGVsbG8=
Decoded bytes: 48 65 6c 6c 6f
Essayez l'exemple dans l'encodeur, copiez le résultat dans le décodeur et comparez le texte renvoyé. Essayez ensuite un caractère chinois ou un emoji. Le texte doit d'abord devenir des octets en utilisant un codage de caractères tel que UTF-8 ; Base64 lui-même ne définit pas de langue ni de jeu de caractères.
Où vous le rencontrez
Les exemples courants incluent un champ binaire dans JSON, une image en ligne dans Data URI et les parties lisibles de certains jetons. Le format environnant fournit le contexte. Une chaîne Base64 en elle-même ne vous indique pas le nom du fichier d'origine, le type MIME, le codage des caractères ou si le contenu est digne de confiance.
Un Data URI ajoute un préfixe tel que data:image/png;base64,. Ce préfixe décrit les données, mais ne fait pas partie de l’alphabet Base64. Certains décodeurs reconnaissent cette enveloppe ; d’autres attendent uniquement la partie située après la virgule. Choisissez l’outil ou le mode adapté au lieu de supprimer des caractères inconnus au hasard.
Trois malentendus courants
Premièrement, Base64 n’est pas un cryptage : aucun secret n’est nécessaire pour le décoder. Deuxièmement, cela ne réduit pas la taille des fichiers ; la sortie rembourrée ordinaire est environ un tiers plus grande que les octets d'origine. Troisièmement, tous les résultats décodés ne sont pas du texte. Une image peut décoder correctement des octets qui semblent absurdes dans une zone de texte.
Lorsqu'un décodage échoue, vérifiez la source d'origine, l'alphabet choisi et si la chaîne a été tronquée. Lorsque cela réussit, choisissez une vue appropriée : texte pour les octets de texte valides, Hex pour l'inspection ou téléchargement de fichier pour les données binaires. L'alphabet Base64 détaillé et les exemples sont définis dans RFC 4648.