Comment ça marche
Encodage. Le texte est d’abord converti en octets UTF-8, toutes les langues et tous les émojis sont donc pris en charge. Les octets sont ensuite lus par groupes de trois (24 bits), découpés en quatre groupes de 6 bits, et chaque groupe s’écrit avec l’un des 64 caractères. Si l’entrée n’est pas un multiple de trois octets, la sortie est complétée par des =.
Décodage. Les espaces et retours à la ligne sont ignorés, le remplissage manquant est rajouté et un préfixe data:…;base64, est retiré, vous pouvez donc coller du Base64 directement depuis un e-mail, un fichier PEM ou une balise image HTML. Si les octets décodés ne forment pas un texte valide (une image, par exemple), l’outil vous le signale et vous permet de les télécharger sous forme de fichier.
Les fichiers sont encodés octet par octet. Cochez « En URL data: » pour obtenir une chaîne à placer directement dans un <img src> ou un url() CSS.
Exemples
| Texte | Base64 |
|---|---|
foobar |
Zm9vYmFy |
foob |
Zm9vYg== |
café |
Y2Fmw6k= |
😀 |
8J+YgA== |
subjects?_d |
c3ViamVjdHM/X2Q= (compatible URL : c3ViamVjdHM_X2Q) |
Le Base64 dans le code
| Langage | Encoder du texte | Décoder |
|---|---|---|
| JavaScript (navigateur) | btoa(String.fromCharCode(...new TextEncoder().encode(s))) |
new TextDecoder().decode(Uint8Array.from(atob(b), c => c.charCodeAt(0))) |
| Node.js | Buffer.from(s).toString('base64') |
Buffer.from(b, 'base64').toString() |
| Python | base64.b64encode(s.encode()).decode() |
base64.b64decode(b).decode() |
| Shell | echo -n 'texte' | base64 |
echo 'dGV4dGU=' | base64 -d |