Comment encoder un texte en Base64
- Saisissez ou collez votre texte dans le champ Entrée, ou ouvrez un fichier.
- Choisissez le jeu de caractères (UTF-8 convient à toutes les langues et aux emojis) et, si besoin, la sortie compatible URL ou les retours à la ligne tous les 76 caractères.
- Copiez le résultat en Base64 ou téléchargez-le sous forme de fichier texte.
Comment fonctionne l'encodage Base64
L'encodeur traite votre texte sous forme d'octets, les découpe en groupes de 3 octets (24 bits) et transforme chaque groupe en 4 caractères issus d'un alphabet de 64 caractères. Si le dernier groupe est incomplet, des signes = sont ajoutés en guise de remplissage. Voilà pourquoi le résultat en Base64 est environ 33 % plus volumineux que l'original : Man devient TWFu.
Encoder en Base64 dans les langages les plus courants
- JavaScript :
btoa(String.fromCharCode(...new TextEncoder().encode(text))) - Python :
base64.b64encode(text.encode()).decode() - PHP :
base64_encode($text) - Java :
Base64.getEncoder().encodeToString(text.getBytes(UTF_8)) - Linux/macOS :
echo -n 'text' | base64
Questions fréquentes
Pourquoi le résultat en Base64 est-il plus long que mon texte ?
Le Base64 stocke 3 octets dans 4 caractères : le résultat fait donc environ 4/3 de la taille d'origine, remplissage en plus. Les caractères accentués ou non latins occupent 2 à 4 octets en UTF-8, ce qui allonge encore leur Base64.
Que signifient les signes = à la fin ?
Ce sont des caractères de remplissage (padding). Un seul = indique que le dernier groupe comptait 2 octets, deux (==) qu'il n'en comptait qu'un. Le Base64 compatible URL les omet souvent.
Puis-je encoder des emojis et des caractères accentués ?
Oui. Laissez le jeu de caractères sur UTF-8 : toutes les langues, tous les symboles et tous les emojis sont alors encodés correctement et peuvent être décodés sur n'importe quel système.
Quand activer les retours à la ligne tous les 76 caractères ?
Uniquement pour les e-mails (MIME) et certains certificats PEM, qui exigent des lignes coupées. Pour les API, le JSON, les URL et les data URI, laissez cette option désactivée.