Qu'est-ce que le codage Base64 ? Une explication complète
Réponse rapide
L'encodage Base64 convertit les données binaires en texte en utilisant 64 caractères imprimables (A-Z, a-z, 0-9, +, /). Tous les 3 octets d'entrée deviennent 4 caractères Base64. Base64 est réversible (pas de cryptage) et augmente la taille des données d'environ 33 %. Utilisez notre encodeur et décodeur Base64 gratuits pour convertir dans votre navigateur.
Introduction
Base64 est un schéma de codage binaire en texte qui convertit les données binaires en une représentation sous forme de chaîne ASCII à l'aide de 64 caractères imprimables. Il est défini par la RFC 4648 et est couramment utilisé pour coder les données qui doivent être transmises sur des supports conçus pour gérer du texte : pièces jointes aux e-mails (MIME), données URLs dans HTML/CSS, parties de jeton JWT et charges utiles JSON contenant des données binaires. Base64 est un codage, pas un cryptage : il est entièrement réversible et ne nécessite aucune clé. N'importe qui peut décoder Base64, cela n'assure donc aucune confidentialité.
Pas à pas
-
Comprendre le jeu de caractères
Base64 utilise 64 caractères : A-Z (26), a-z (26), 0-9 (10), + et / (2). Le caractère = est utilisé pour le remplissage lorsque la longueur d'entrée n'est pas un multiple de 3. La variante URL-safe remplace + par - et / par _ et omet le remplissage.
-
Découvrez comment fonctionne l'encodage
Base64 traite les entrées en blocs de 3 octets (24 bits). Chaque bloc de 24 bits est divisé en quatre groupes de 6 bits. Chaque valeur de 6 bits (0-63) correspond à l'un des 64 caractères. Si l'entrée n'est pas un multiple de 3, un remplissage (=) est ajouté : 1 octet d'entrée → 2 Base64 caractères + ==, 2 octets → 3 caractères + =.
-
Comprendre les frais généraux de taille
Base64 augmente la taille des données d'environ 33 % : tous les 3 octets deviennent 4 caractères. Un fichier de 1 Mo devient ~ 1,33 Mo lorsqu'il est codé en Base64. Cette surcharge est le compromis pour la compatibilité du texte uniquement.
-
Distinguer le codage du cryptage
Base64 est un codage, pas un cryptage. Il est réversible sans clé : n’importe qui peut le décoder. Base64 n'offre aucune confidentialité ; il convertit uniquement le binaire en texte pour le transport. N'utilisez jamais Base64 pour stocker des mots de passe ou des secrets.
Exemples
Encoder du texte
Saisir: Hello, World!
Sortir: SGVsbG8sIFdvcmxkIQ==
Encoder les données binaires (affichées en hexadécimal)
Saisir: Octets : 0x00 0x01 0x02
Sortir: AAEC
URL-safe Base64 (style JWT)
Saisir: Standard: SGVsbG8= → URL-safe: SGVsbG8 (no padding, - and _ for + and /)
Sortir: Utilisé dans les jetons JWT et les paramètres URL
Problèmes courants
- Traiter Base64 comme un cryptage —Base64 est réversible sans clé. N’importe qui peut le décoder. Ne l’utilisez jamais pour protéger des données sensibles.
- Caractères non-ASCII — btoa() naïf est lancé sur Unicode. Utilisez TextEncoder + btoa(unescape(encodeURIComponent(text))) ou un outil compatible UTF-8.
- Suppression du remplissage : le remplissage = fait partie de l'encodage. Le supprimer interrompt le décodage (bien que certains décodeurs puissent le reconstruire).
- Surcharge de taille —Base64 ajoute environ 33 % à la taille des données. Pour les fichiers volumineux, cela est important ; déterminer si le codage est nécessaire.
Conseils
- Utilisez Base64 pour les données URLs afin d'intégrer de petites images dans HTML/CSS sans demande HTTP distincte.
- Utilisez URL-safe Base64 (remplacez + par -, / par _, strip padding) pour les jetons URLs et JWT.
- Base64 n'est pas un chiffrement : utilisez-le pour la compatibilité du transport, pas pour la confidentialité.
- Utilisez notre encodeur et décodeur Base64 pour une conversion instantanée et privée dans votre navigateur.