Qu'est-ce que l'Encodage Base64 ?
L'encodage Base64 est partout dans le développement web. Ce guide explique comment il fonctionne et quand l'utiliser efficacement.
Pourquoi Base64 Existe
De nombreux systèmes ne gèrent le texte en toute sécurité que. Les données binaires peuvent contenir des caractères qui brisent ces systèmes. Imaginez envoyer une image via un système d'e-mail conçu pour le texte des années 1970 - certaines valeurs d'octets seraient interprétées comme des caractères de contrôle, corrompant la transmission. Base64 convertit les données binaires en texte sûr en utilisant seulement 64 caractères garantis de survivre à la transmission. Ces caractères ont été choisis parce qu'ils existent dans tous les jeux de caractères, tous les systèmes d'e-mail, toutes les URL et toutes les bases de données. Les 64 caractères sont A-Z, a-z, 0-9, + et /. Le caractère = sert au remplissage. Cette sécurité coûte une augmentation de taille de 33%. Lorsque vous voyez une longue chaîne de lettres et de chiffres se terminant par des signes =, vous regardez probablement du Base64. Le motif est distinctif : pas d'espaces, pas de caractères spéciaux sauf peut-être + et /, et un ou deux = à la fin.
Les 64 Caractères
Base64 standard utilise : A-Z (26 caractères, indices 0-25), a-z (26 caractères, indices 26-51), 0-9 (10 caractères, indices 52-61), + (indice 62) et / (indice 63), avec = pour le remplissage. Ce choix spécifique de caractères n'est pas arbitraire. Ces 64 caractères apparaissent dans tous les systèmes d'encodage de caractères courants (ASCII, UTF-8, Latin-1) et ne causent pas de problèmes dans la plupart des couches de transport. Base64URL remplace + par - et / par _ pour la sécurité des URL. Les + et / de Base64 standard ont des significations spéciales dans les URL (+ devient souvent un espace, / sépare les segments de chemin). Vous voyez Base64URL dans les JWT et les paramètres d'URL. Le remplissage = apparaît lorsque la longueur d'entrée n'est pas un multiple de 3 octets. Une entrée de 1 octet donne 4 caractères avec == remplissage. Une entrée de 2 octets donne 4 caractères avec = remplissage. Certains systèmes permettent d'omettre le remplissage.
Comment ça Fonctionne
Base64 divise les données binaires en groupes de 6 bits, chacun mappé à l'un des 64 caractères. Trois octets (24 bits) deviennent quatre caractères (6 bits chacun). Le processus en détail : Prenez les octets d'entrée et concaténez leur représentation binaire. Divisez cette séquence de bits en morceaux de 6 bits. Mappez chaque valeur de 6 bits à son caractère Base64 correspondant. Ajoutez le remplissage = si nécessaire. Exemple : "Hi" (ASCII 72, 105) → binaire 01001000 01101001 → groupé en morceaux de 6 bits : 010010 000110 1001 → (remplissage du dernier groupe avec des zéros) 010010 000110 100100 → valeurs décimales 18, 6, 36 → caractères "SGk" → avec un = pour le remplissage → "SGk=" L'encodage est déterministe et sans perte. La même entrée produit toujours la même sortie, et vous pouvez toujours récupérer l'original. Contrairement à la compression ou au hachage, il n'y a pas de perte de données - juste une transformation de format.
Essayer l'Outil
Encodeur/Décodeur Base64