Encodeur/décodeur hexadécimal
L'encodage hexadécimal (hex) représente les données binaires à l'aide de 16 symboles (0-9 et A-F). Chaque octet devient deux caractères hex. Cet outil décode les chaînes hex pour révéler le contenu original, identifie les types de fichiers à l'aide des octets magiques et fournit une visionneuse de type éditeur hex pour l'inspection binaire.
Cas d'utilisation courants
- Décoder des données hex provenant d'API et de logs
- Inspecter les en-têtes de fichiers binaires et les octets magiques
- Analyser les charges utiles de paquets réseau
- Déboguer les valeurs cryptographiques (hachages, clés, IV)
- Visualiser les données binaires brutes de bases de données ou fichiers
- Convertir les dumps hex des outils de débogage
Fonctionnalites
- Décoder des chaînes hex dans plusieurs formats (brut, espacé, préfixé 0x, séparé par deux-points, tableau C)
- Visionneuse hex avec décalage, octets hex et représentation ASCII
- Détection automatique du type de contenu décodé (JSON, XML, texte, etc.)
- Détection chaînée — détection automatique du contenu décodé avec bouton "Décoder en X"
- Identification du type de fichier à l'aide des octets magiques pour les données binaires
- Défilement virtuel pour les gros fichiers avec chargement paresseux des blocs
- Convertir entre les formats hex (brut, espacé, 0x, deux-points, tableau C)
- Encoder du texte en hex dans différents formats
Exemples
JSON en hex
Essayer →Une chaîne hex qui se décode en un objet JSON.
7b226e616d65223a22746573742e6a736f6e227dHex espacé
Essayer →Octets hex séparés par des espaces (courant dans la sortie de débogage).
48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 21En-tête PDF
Essayer →Octets hex représentant une signature de fichier PDF.
25504446 2d312e34 0a312030 206f626aStyle adresse MAC
Essayer →Octets hex séparés par deux-points comme une adresse MAC.
de:ad:be:ef:ca:feConseils
- L'encodage hex double la taille des données (chaque octet devient 2 caractères).
- Octets magiques courants : PDF commence par 25504446 (%PDF), ZIP par 504B0304.
- Les données d'image (PNG, JPEG, etc.) sont auto-détectées et utilisent l'outil d'analyse d'images.
- Le préfixe 0x indique l'hexadécimal dans la plupart des langages de programmation.
- Les adresses MAC et les UUID utilisent des séparateurs deux-points ou tirets.
- L'hex est insensible à la casse : 0xFF est égal à 0xff.
Comprendre Encodeur/décodeur hexadécimal
L'encodage hexadécimal (hex) représente les données binaires en notation base 16, où chaque octet correspond exactement à deux caractères de l'ensemble 0-9 et A-F. Cette correspondance directe octet-texte fait de l'hex la représentation standard pour les données binaires en débogage, cryptographie, réseau et programmation bas niveau.
Contrairement au Base64, qui obscurcit les limites d'octets avec son groupement de 6 bits, chaque paire de caractères hex correspond exactement à un octet, rendant triviale la lecture de valeurs individuelles. Les adresses mémoire, les contenus de registres, les dumps de paquets réseau, les en-têtes de fichiers et les valeurs cryptographiques sont tous conventionnellement affichés en hex.
Les chaînes hex apparaissent dans de nombreux formats. L'hex brut (48656c6c6f) est courant dans les API. L'hex séparé par des espaces (48 65 6c 6c 6f) apparaît dans les captures de paquets. L'hex séparé par des deux-points (48:65:6c:6c:6f) est utilisé pour les adresses MAC et les empreintes de certificats. Le préfixe 0x (0x48, 0x65) est le littéral hex standard en C, JavaScript, Python et la plupart des langages. Les tableaux de style C ({0x48, 0x65}) intègrent des données binaires dans le code source.
L'identification du type de fichier repose sur les octets magiques — des séquences hex spécifiques au début d'un fichier qui identifient son format. Les PDF commencent par 25504446 (%PDF), les PNG par 89504E47, les ZIP par 504B0304 et les exécutables ELF par 7F454C46. Reconnaître ces signatures est essentiel pour déboguer le code de gestion de fichiers et analyser les données binaires.
Hex et Base64 encodent tous deux des données binaires en texte, mais font des compromis différents. L'hex associe chaque octet à 2 caractères, doublant la taille des données (100% de surcharge), tandis que le Base64 associe chaque 3 octets à 4 caractères avec seulement environ 33% de surcharge. Le Base64 est plus efficace en espace pour les grandes données, ce qui en fait le meilleur choix pour intégrer du contenu binaire dans des formats texte. L'hex est plus lisible pour l'inspection au niveau de l'octet, ce qui en fait le standard pour le débogage, les valeurs cryptographiques et l'analyse de protocoles où les valeurs individuelles des octets comptent.
Les octets magiques (aussi appelés signatures de fichier) sont des séquences d'octets spécifiques au tout début d'un fichier qui identifient son format indépendamment de l'extension du fichier. Les fichiers PNG commencent par 89 50 4E 47, JPEG par FF D8 FF et ZIP par 50 4B 03 04. La commande Unix "file" repose sur les octets magiques pour détecter les types de fichiers, et la même technique est utilisée dans cet outil pour identifier le contenu binaire dans les données hex.
L'hex est insensible à la casse car les chiffres A-F représentent les valeurs 10-15 indépendamment de leur casse — 0xFF et 0xff signifient tous deux décimal 255. Le choix entre les casses est purement conventionnel : les majuscules sont courantes dans les spécifications et les sorties de hachage, tandis que les minuscules sont courantes dans les contextes de développement web comme les couleurs CSS et l'encodage URL. Le préfixe 0x indique un littéral hexadécimal dans la plupart des langages de programmation, y compris C, C++, Java, JavaScript, Python, Go et Rust. Sans le préfixe, une valeur comme "10" serait ambiguë entre décimal et hex ; écrire 0x10 la rend sans ambiguïté hexadécimale (décimal 16).