Encodage Hex Expliqué
L'encodage hexadécimal (hex) représente les données binaires en utilisant la notation en base 16. Il utilise seize chiffres : 0-9 pour les valeurs zéro à neuf, et A-F pour les valeurs dix à quinze. Chaque chiffre hex représente exactement quatre bits, faisant de l'hex la façon la plus conviviale pour les humains de lire et écrire des données binaires. Un octet (8 bits) est parfaitement représenté par deux chiffres hex, ce qui explique pourquoi l'hex apparaît partout en programmation.
L'avantage fondamental de l'hex par rapport au binaire est la lisibilité. Un nombre binaire de 32 bits comme 10110101101110101010111001011101 devient B5BAAE5D en hex — quatre fois plus court et considérablement plus facile à lire, comparer et mémoriser. Cette compacité fait de l'hex la notation standard pour les adresses mémoire, les valeurs de couleur, les hachés cryptographiques et le code machine.
La Relation Hex-Décimal
| Décimal | Binaire | Hex |
|---|---|---|
| 0 | 0000 | 0 |
| 1 | 0001 | 1 |
| 2 | 0010 | 2 |
| 3 | 0011 | 3 |
| 4 | 0100 | 4 |
| 5 | 0101 | 5 |
| 6 | 0110 | 6 |
| 7 | 0111 | 7 |
| 8 | 1000 | 8 |
| 9 | 1001 | 9 |
| 10 | 1010 | A |
| 11 | 1011 | B |
| 12 | 1100 | C |
| 13 | 1101 | D |
| 14 | 1110 | E |
| 15 | 1111 | F |
Chaque chiffre hex correspond à exactement une séquence binaire de quatre bits. Ce mappage direct signifie que vous pouvez convertir entre hex et binaire mentalement une fois que vous avez mémorisé le tableau.
Cas d'Utilisation Courants pour les Développeurs
Codes Couleur
CSS et les outils de conception représentent les couleurs en utilisant des valeurs hex à six chiffres. Le format #RRGGBB utilise deux chiffres hex chacun pour le rouge, le vert et le bleu. #FF0000 est le rouge pur, #00FF00 est le vert pur et #0000FF est le bleu pur. La valeur #FFFFFF est le blanc et #000000 est le noir.
.primary { color: #2563eb; }
.success { color: #16a34a; }
.danger { color: #dc2626; }
La notation abrégée à trois chiffres comme #F00 se développe en #FF0000 en doublant chaque chiffre.
Adresses Mémoire
Les débogueurs, désassembleurs et outils bas niveau affichent les adresses mémoire en hex. Une trace de pile montrant 0x7FFF5FBFF9EC vous indique l'emplacement mémoire exact sous une forme compacte. Les pointeurs en C et C++ sont affichés en hex par défaut lors de l'utilisation de %p.
Hachés Cryptographiques
Les fonctions de hachage produisent des digests binaires qui sont conventionnellement affichés comme des chaînes hex. SHA256 produit un haché de 256 bits affiché comme 64 caractères hex. Ce format est utilisé pour les sommes de contrôle de fichiers, les identifiants de transaction blockchain et les hachés de commit Git.
Code Machine et Protocoles Binaires
Chaque octet de code machine ou de données de protocole est mieux lu en hex. Les inspecteurs de paquets réseau, les dumps de firmware et les spécifications de format de fichier binaire utilisent tous la notation hex.
Conversion Entre Hex et d'Autres Formats
Hex vers Décimal
Multipliez chaque chiffre hex par 16 élevé à sa position, en comptant de droite à gauche en commençant par 0.
Hex: 2F
F = 15 × 16^0 = 15
2 = 2 × 16^1 = 32
Total: 15 + 32 = 47
Décimal vers Hex
Divisez par 16 à plusieurs reprises et lisez les restes de bas en haut.
Décimal: 47
47 ÷ 16 = 2 reste 15 (F)
2 ÷ 16 = 0 reste 2
Résultat: 2F
Hex vers Binaire
Remplacez chaque chiffre hex par son équivalent binaire de quatre bits.
Hex: 2F
2 → 0010
F → 1111
Binaire: 00101111
Support dans les Langages de Programmation
Chaque langage majeur inclut une conversion hex intégrée :
# Python
hex_value = hex(255) # '0xff'
decimal = int('ff', 16) # 255
// JavaScript
let hex = (255).toString(16); // 'ff'
let dec = parseInt('ff', 16); // 255
// PHP
$hex = dechex(255); // 'ff'
$dec = hexdec('ff'); // 255
// Java
String hex = Integer.toHexString(255); // 'ff'
int dec = Integer.parseInt("ff", 16); // 255
Outil en Ligne
L'outil Encodeur et Décodeur Hex sur Help2Code vous permet de convertir instantanément entre texte, hex, décimal et binaire. Il est utile pour le débogage, l'apprentissage et les conversions rapides pendant le développement.
Hex dans les URL
L'encodage pourcentage dans les URL utilise souvent l'hex. Un espace devient %20, où 20 est la valeur hex du code ASCII du caractère espace. N'importe quel octet dans une URL peut être représenté comme %XX où XX est la valeur hex. C'est pourquoi l'encodage URL est parfois appelé encodage pourcentage.
Hex vs Base64
Hex et Base64 encodent tous deux les données binaires en texte, mais ils servent des objectifs différents. Hex est le meilleur pour la lisibilité humaine et le débogage. Base64 est conçu pour la transmission compacte de données. Hex développe les données de 100 % (un octet devient deux caractères), tandis que Base64 ne les développe que de 33 %. Utilisez hex pour l'affichage et le débogage, Base64 pour le stockage et la transmission.
Conclusion
L'encodage hexadécimal est une compétence essentielle pour tout développeur qui travaille avec des données bas niveau, des couleurs, de la mémoire ou de la cryptographie. Son mappage direct vers le binaire en fait la représentation la plus lisible des données binaires. Utilisez l'outil Encodeur et Décodeur Hex pour des conversions rapides, et pratiquez la conversion mentale hex-décimal pour les valeurs courantes.