Aller au contenu

Encodages

Table de référence des encodages courants : Base64, URL encoding, hex, HTML entities, UTF-8, et autres. Description, usages, avantages et limites pour comprendre comment chaque encodage est utilisé.

Encodage Description Usages courants Avantages Limitations
Base64 Encode des données binaires en texte ASCII en utilisant 64 caractères (A-Z, a-z, 0-9, +, /). Un caractère de remplissage "=" est utilisé pour s'assurer que les données sont divisibles par 4. - Pièces jointes email (MIME).
- Transmission de données binaires dans des URL ou des JSON.
- Compatible avec des systèmes qui gèrent uniquement des chaînes de caractères. - Encombrement : Augmente la taille des données de 33%.
URL Encoding Encode les caractères spéciaux dans une URL en utilisant le symbole % suivi du code hexadécimal correspondant (ex: espace → %20). - Utilisé pour encoder les caractères non autorisés dans une URL (par ex. ?, &, =). - Permet de transférer des données en toute sécurité dans une URL sans altérer leur signification. - Peut rendre une URL beaucoup plus longue et illisible.
Hexadecimal Représente des données binaires sous forme de chiffres hexadécimaux (0-9, A-F). Chaque octet est représenté par deux caractères hexadécimaux. - Protocoles réseau (ex: adresses MAC).
- Stockage de données en basse couche.
- Représentation en crypto (hashing).
- Représentation concise et universelle des données binaires. - La conversion directe peut être moins intuitive pour les humains.
ASCII Système de codage qui représente des caractères en utilisant des valeurs numériques sur 7 bits (128 caractères), couvrant principalement l'alphabet anglais et des caractères de contrôle. - Communication textuelle simple (ex: fichiers .txt, logs).
- Protocole de base dans les systèmes de réseau.
- Léger et rapide, universellement supporté. - Limité aux caractères anglais, absence de prise en charge des langues non latines et symboles spéciaux.
UTF-8 Codage de caractères multi-octets qui utilise entre 1 et 4 octets pour représenter les caractères Unicode. Il est rétrocompatible avec ASCII. - Standard pour le web.
- Supporte des millions de caractères Unicode, ce qui inclut la majorité des alphabets.
- Très efficace pour coder du texte en langues européennes. - Moins efficace en termes de taille pour certaines langues où les caractères nécessitent plus d’octets.
UTF-16 Codage de caractères qui utilise soit 2 soit 4 octets pour représenter les caractères Unicode. Plus adapté pour les caractères non-Latins. - Utilisé principalement en interne dans certains systèmes (ex: Windows). - Offre un bon compromis entre la prise en charge des caractères complexes et l'efficacité de stockage. - Consomme plus de mémoire que UTF-8 pour les caractères ASCII standards.
UTF-32 Chaque caractère Unicode est encodé sur 4 octets. Cette approche garantit un accès direct à chaque caractère. - Utilisé dans des applications nécessitant un accès aléatoire à des caractères. - Simplicité d'accès, chaque caractère a la même taille. - Inefficace en termes de stockage : utilise beaucoup plus d'espace que UTF-8 et UTF-16.
Binary/Octet Encoding Données encodées en représentation binaire ou octale (base 8). Le binaire utilise 0 et 1, tandis que l'octal utilise 0 à 7. - Utilisé pour les communications à très bas niveau (ex: en développement de matériel ou en stockage direct). - Offre une représentation directe des données binaires. - Difficile à lire et manipuler pour des humains, rarement utilisé en dehors de contextes spécialisés.
Quoted-Printable Encode des caractères qui ne sont pas sécurisés dans un format texte (comme les caractères non-ASCII) en les représentant sous forme de caractères imprimables. - Courriers électroniques MIME.
- Transmission de texte dans des formats qui ne supportent que des caractères imprimables.
- Facilement lisible pour les humains tout en permettant l'encodage de données non-ASCII. - Peut augmenter considérablement la taille des données à transmettre.
Punycode Encode des noms de domaine Unicode en ASCII, ce qui est utilisé pour les noms de domaine internationalisés (IDN). - Domaines internet avec des caractères non-ASCII (ex: chinois, arabe). - Compatible avec le DNS, qui ne supporte que les caractères ASCII. - Les noms de domaine encodés peuvent devenir plus longs et complexes.