Encodage Base64 expliqué : conversion de données binaires en texte

L'encodage Base64 convertit les données binaires en un jeu de caractères sécurisé (A-Z, a-z, 0-9, +, /) qui peut être intégré dans des protocoles textuels tels que la messagerie électronique, JSON et HTML sans corruption des données.

Binary data being transformed through Base64 encoding algorithm visualization

Pourquoi Base64 a été inventé

De nombreux protocoles textuels, notamment SMTP (e-mail), les en-têtes HTTP et HTML, ont été conçus pour gérer uniquement certains caractères sécurisés. Les données binaires (images, fichiers, code exécutable) contiennent des valeurs d'octets arbitraires qui entrent en conflit avec les caractères de contrôle du protocole.

Le problème : Un e-mail contenant un fichier image binaire peut contenir des octets qui correspondent aux caractères de contrôle du protocole (comme le code ASCII 13 = retour chariot, le code 10 = saut de ligne). Ces octets seraient interprétés à tort comme des commandes de protocole de messagerie, corrompant ainsi la pièce jointe.

La solution : Base64 convertit toutes les données binaires en un sous-ensemble de 64 caractères ASCII imprimables (A-Z, a-z, 0-9, +, /) qui sont sécurisés dans tous les protocoles textuels. La RFC originale pour Base64 (RFC 2045) a été écrite pour les pièces jointes de courrier électronique MIME.

Bit-splitting pipeline diagram showing how 3 bytes of binary data transform into four 6-bit Base64 characters


Fonctionnement de l'encodage Base64 : l'algorithme

Base64 convertit les données binaires en traitant 3 octets (24 bits) à la fois et en produisant 4 caractères Base64 (24 bits → 4 × 6 bits) :

  1. Prendre 3 octets de données binaires : Homme = ASCII 77, 97, 110 = 01001101 01100001 01101110
  2. Diviser 24 bits en quatre groupes de 6 bits : 010011 010110 000101 101110
  3. Chacun Le groupe de 6 bits correspond à un caractère Base64 à l'aide de l'alphabet standard :

- 010011 = 19 = 'T' - 010110 = 22 = 'W' - 000101 = 5 = 'F' - 101110 = 46 = 'u'

  1. Résultat : "Homme" → "TWFu"

L'alphabet Base64 complet : ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/

Base64 64-character safe ASCII index lookup table matrix


Cas d'utilisation courants de Base64

1. Pièces jointes aux e-mails (MIME) Le protocole de messagerie est basé sur du texte. Les pièces jointes sont codées en Base64 avant d'être incluses dans le message électronique.

2. URL de données en HTML/CSS Les petites images et polices peuvent être intégrées directement dans HTML ou CSS en tant qu'URL de données codées en Base64 :

<img src="data:image/png;base64,iVBORw0KGgo..." alt="Embedded image">

Cela élimine la requête HTTP supplémentaire pour les petites icônes.

3. Authentification API L'authentification HTTP de base encode les informations d'identification en Base64 : nom d'utilisateur:mot de passe → dXNlcm5hbWU6cGFzc3dvcmQ= (Remarque : Base64 n'est pas un cryptage ; utilisez-le uniquement sur HTTPS)

4. Charges utiles JSON avec données binaires Lorsqu'une API doit inclure des données binaires (par exemple, un PDF ou une image généré) dans une réponse JSON, le codage Base64 permet d'intégrer en toute sécurité les données binaires en tant que valeur de chaîne JSON.

Common real-world Base64 use cases including data URIs, HTTP basic auth, JWTs, and email attachments


Encodage et décodage Base64 sur ToolDolfen

  1. Ouvrez l'Encodeur et Décodeur Base64.
  2. Pour encoder : Collez du texte ou saisissez des données binaires dans le champ de saisie. Cliquez sur Encoder. Copiez la sortie Base64.
  3. Pour décoder : Collez une chaîne Base64 dans le champ de saisie. Cliquez sur Décoder. Les données d'origine s'affichent.

L'outil gère les variantes Base64 standard (avec caractères +/) et les variantes Base64 sécurisées pour les URL (avec -_ au lieu de +/).

Decoding pipeline diagram showing reconstruction of exact original binary streams from Base64 text

ToolDolfen Base64 Encoder and Decoder user interface workflow

Guides complémentaires recommandés

Explorez les didacticiels et utilitaires complémentaires de ce groupe de sujets pour améliorer votre flux de travail numérique :

Codage en pourcentage d'URL : pourquoi les URL remplacent les espaces par %20 (Guide RFC 3986)Tutoriel pratique étape par étape avec des normes vérifiées et intégré au navigateur flux de travail.HEX, RVB et HSL : le guide complet des modèles de couleurs pour CSS et designTutoriel pratique étape par étape avec des normes vérifiées et intégré au navigateur workflows.Les mathématiques des mots de passe forts : entropie, directives NIST et longueur du mot de passeTutoriel pratique étape par étape avec des normes vérifiées et intégré au navigateur flux de travail.Comment fusionner des fichiers PDF en toute sécurité sans téléchargement dans le cloudFlux de travail multiformat complémentaire reliant les données et les outils multimédias associés.
Utilitaire recommandé : Encodeur/décodeur Base64Exécutez ce flux de travail en direct dans votre navigateur sans aucun téléchargement sur le serveur et avec 100 % de confidentialité côté client.
Encodeur et Décodeur Base64
Encodeur et Décodeur Base64

Foire Aux Questions

Trouvez des réponses rapides et vérifiées aux questions fréquentes sur ce flux de travail.

Base64 est-il une forme de cryptage ?

Non. Base64 est un codage, pas un chiffrement. Il est entièrement réversible par toute personne disposant de la chaîne codée – aucune clé ni mot de passe n’est requis pour la décoder. N'utilisez pas Base64 pour protéger les données sensibles ; utilisez des algorithmes de cryptage appropriés comme AES-256.

Quelle est la taille des données après le codage Base64 ?

Les données codées en base64 sont environ 33 % plus volumineuses que les données binaires d'origine. Tous les 3 octets de données binaires deviennent 4 caractères Base64. Une image de 3 Mo codée en Base64 devient environ 4 Mo de texte.

Pourquoi certaines chaînes Base64 se terminent-elles par '=' ou '==' ?

Base64 traite les données en groupes de 3 octets. Si la longueur des données d'entrée n'est pas divisible par 3, la sortie est complétée par un ou deux caractères « = » pour que la sortie soit un multiple de 4 caractères.

Bilal Ahmad