encoding base32 base58 base85 punycode dev-tech

Au-delà du Base64 : Guide du Base32, Base58, Base85 et Punycode

Explorez les alternatives d'encodage binaire-texte. Découvrez le Base58 pour Bitcoin, le Base85 pour PDF/Git et le Punycode.

2026-04-11

Guide du codage binaire-texte : Base64, Base58, Punycode et au-delà

En informatique, nous devons souvent transporter des données binaires (comme des images ou des fichiers exécutables) sur des systèmes qui ne prennent en charge que le texte. C'est là qu'intervient le codage binaire-texte. Ces schémas représentent les données binaires à l'aide d'un ensemble spécifique de caractères imprimables.

1. La famille Base : efficacité et lisibilité

Base64 (Le standard)

Le codage le plus courant, utilisé dans les e-mails (MIME) et pour l'intégration d'images dans HTML/CSS. Il utilise 64 caractères.

Base32

Utilise 32 caractères (A-Z et 2-7). Il est souvent utilisé dans les codes saisis par l'homme (comme les clés secrètes de Google Authenticator) car il n'est pas sensible à la casse et évite les caractères ambigus.

Base58

Popularisé par le Bitcoin, le Base58 est similaire au Base64 mais supprime les caractères visuellement proches comme 0 (zéro), O (o majuscule), I (i majuscule) et l (L minuscule). Cela le rend idéal pour les adresses de portefeuilles (wallets).

Base85 (ASCII85)

Utilisé principalement dans les fichiers Adobe PDF et les correctifs (patches) Git. Il est plus efficace que le Base64, offrant une taille encodée plus petite.


2. Codages Web spécialisés

Punycode

Utilisé pour représenter les caractères Unicode dans le système de noms de domaine (DNS), qui ne prend en charge qu'un ensemble limité de caractères ASCII. C'est ainsi que fonctionne "idn.example".

Codage en pourcentage (URL Encoding)

Utilisé pour encoder les caractères réservés dans une URL (par exemple, un espace devient %20).

Quoted-Printable

Utilisé dans les e-mails pour les données qui sont principalement du texte mais contiennent certains caractères non ASCII. Il maintient le texte lisible pour l'homme même sous sa forme encodée.


3. Codages hérités et de niche

  • UUEncode : Un ancien utilitaire Unix pour envoyer des fichiers binaires par e-mail.
  • Yenc : Développé pour remplacer UUEncode pour les groupes de discussion Usenet, offrant une meilleure efficacité.

4. Codes de communication et symboliques

Code Morse

Une méthode utilisée dans les télécommunications pour coder les caractères de texte sous forme de séquences normalisées de deux durées de signal différentes, appelées points et tirets.

Alphabet phonétique de l'OTAN

L'alphabet d'épellation radiotéléphonique le plus largement utilisé (Alpha, Bravo, Charlie...), garantissant que les lettres et les chiffres critiques sont prononcés et compris correctement.

Braille

Un système d'écriture tactile utilisé par les personnes malvoyantes. Bien qu'il ne s'agisse pas de "binaire-texte" au sens informatique, c'est un exemple fascinant de codage de caractères.


5. Chiffrements classiques (Substitution)

Ce sont des méthodes simples pour masquer du texte, souvent utilisées pour des énigmes ou un masquage de données de base.

ROT13 & ROT47

ROT13 ("rotation de 13 places") est un chiffrement par substitution simple qui remplace une lettre par la 13ème lettre après elle dans l'alphabet. C'est son propre inverse. ROT47 applique une logique similaire mais inclut des chiffres et des symboles.

Chiffrement de César

Le plus ancien chiffrement par substitution connu, nommé d'après Jules César. Il décale les lettres d'un nombre fixe de positions dans l'alphabet.


Tableau comparatif

Codage Taille de Base Meilleur usage
Base64 64 Données Web, E-mail
Base58 58 Adresses Crypto
Base32 32 Clés MFA, saisie humaine
Punycode N/A Domaines internationaux
Base85 85 PDF, Git

Conclusion

Comprendre ces schémas de codage est crucial pour les développeurs et les professionnels de la sécurité. Que vous optimisiez les performances Web avec Base64, sécurisiez une blockchain avec Base58 ou garantissiez la compatibilité des domaines avec Punycode, choisir le bon codage est la clé de l'intégrité des données et de l'interopérabilité des systèmes.