Dans cet article
Qu'est-ce que Base64 ?
Base64 est un schéma d'encodage qui convertit des données binaires en une chaîne de caractères ASCII. Il utilise 64 caractères sûrs (A-Z, a-z, 0-9, +, /) pour représenter n'importe quelle donnée binaire, ce qui la rend sûre pour la transmission via des protocoles textuels comme les en-têtes HTTP, les e-mails (MIME) et JSON.
Base64 n'est pas du chiffrement — c'est de l'encodage. N'importe qui peut décoder du Base64 pour retrouver les données d'origine sans aucune clé. L'objectif de Base64 est de permettre aux données binaires de transiter par des systèmes conçus pour le texte, et non d'assurer une sécurité quelconque.
Comment fonctionne l'encodage Base64
Base64 convertit chaque groupe de 3 octets (24 bits) en 4 caractères Base64 (6 bits chacun), en ajoutant des caractères = si l'entrée n'est pas divisible par 3.
- Regroupement d'octets — les octets d'entrée sont regroupés par 3 et convertis en 4 caractères de sortie
- Correspondance de caractères — chaque groupe de 6 bits correspond à l'un des 64 caractères ASCII imprimables
- Rembourrage — des caractères = sont ajoutés pour garantir que la longueur de la sortie est toujours un multiple de 4
Essayez gratuitement — sans inscription
Encoder ou décoder en Base64 →Quand utiliser Base64
Base64 est utilisé chaque fois que des données binaires doivent être intégrées dans des formats textuels.
- Pièces jointes aux e-mails — l'encodage MIME utilise Base64 pour joindre des fichiers binaires aux messages électroniques
- URI de données — intégrez des images directement dans HTML/CSS sous la forme data:image/png;base64,... pour éviter des requêtes HTTP supplémentaires
- Authentification API — les identifiants Basic Auth sont encodés en Base64 dans l'en-tête HTTP Authorization
Foire aux questions
Base64 augmente-t-il la taille des données ?
Oui. L'encodage Base64 augmente la taille d'environ 33 % car 3 octets d'entrée produisent 4 octets de sortie. C'est le compromis inhérent pour rendre les données binaires sûres pour les systèmes textuels.
Quelle est la différence entre Base64 standard et Base64 sûr pour les URL ?
Le Base64 standard utilise + et / qui ont des significations particulières dans les URL. Le Base64 sûr pour les URL (Base64url) remplace + par - et / par _ pour produire des chaînes utilisables dans les URL et les noms de fichiers sans encodage en pourcentage. Les JWT utilisent l'encodage Base64url.
Comment gérer Base64 avec des données non-UTF-8 ?
Base64 fonctionne avec des octets bruts, pas avec du texte. Lors de l'encodage de données binaires telles que des images ou du contenu chiffré, traitez-les comme un tableau d'octets plutôt que comme une chaîne. En JavaScript, utilisez Uint8Array ou Buffer ; en Python, utilisez des objets bytes pour éviter les problèmes d'encodage avec des données non-UTF-8.