Qu'est-ce qu'un éditeur hexadécimal (et quand en avez-vous vraiment besoin)
Quelqu’un vous a dit de « le vérifier dans un éditeur hexadécimal », ou vous avez cherché un visualiseur hexadécimal et atterri ici sans trop savoir ce que c’est. Pas de souci. Un éditeur hexadécimal est un programme qui vous montre le contenu brut d’un fichier, octet par octet, au lieu de tenter de l’interpréter comme un document, une image ou un tableur. C’est ce qui vous rapproche le plus de regarder exactement ce qui est stocké sur le disque.
Pourquoi l’hexadécimal, précisément
Un fichier, n’importe quel fichier, n’est qu’une suite d’octets, et chaque octet est un nombre de 0 à 255. Vous pourriez afficher ces nombres en décimal, mais 0 à 255 prend jusqu’à trois chiffres et ne s’aligne pas proprement. Vous pourriez les afficher en binaire, mais un seul octet fait huit chiffres de 1 et de 0, difficile à parcourir visuellement. L’hexadécimal (base 16, utilisant les chiffres 0-9 et les lettres A-F) est le compromis : chaque octet tient exactement en deux caractères, de 00 à FF, de sorte qu’une rangée d’octets s’aligne en une grille nette et facile à parcourir. C’est toute la raison pour laquelle l’hexadécimal est le standard, et non le décimal ou le binaire. C’est un choix de lisibilité, pas une exigence technique.
Ce que vous regardez réellement
Ouvrez n’importe quel fichier dans un éditeur hexadécimal et vous verrez trois choses côte à côte, pour les mêmes données :
- Offset : jusqu’où vous êtes dans le fichier, généralement affiché en hexadécimal lui-même, pour que vous puissiez revenir à une position précise plus tard.
- Octets hexadécimaux : les données réelles, deux caractères par octet, regroupées en rangées (couramment 16 octets par rangée).
- Vue texte (ASCII) : les mêmes octets réinterprétés comme des caractères, pour la portion du fichier qui se trouve être du texte lisible. Les octets non textuels s’affichent généralement comme un point de remplacement.
Cette troisième colonne explique pourquoi les chemins de fichiers, les étiquettes et les chaînes de version sont souvent visibles même dans des fichiers essentiellement composés de données binaires : tout texte intégré apparaît dans cette colonne, même si le fichier dans son ensemble n’est pas un fichier texte.
Quand en avez-vous réellement besoin
La plupart des gens passent toute leur vie sans ouvrir un éditeur hexadécimal, et c’est parfaitement normal. Les situations où c’est vraiment le bon outil sont précises :
- L’extension d’un fichier ne correspond pas à son contenu réel. Quelqu’un a renommé un
.zipen.doc, ou vous n’êtes pas sûr qu’un fichier.dbsoit vraiment une base de données. Les premiers octets de la plupart des formats sont une signature distinctive (PNG commence par89 50 4E 47, ZIP par50 4B), et une vue hexadécimale le confirme en quelques secondes. - Un fichier est corrompu et vous voulez savoir comment. Téléchargement tronqué, mauvais transfert, un en-tête écrasé. Voir les octets bruts vous dit si les dégâts sont au début, à la fin, ou dispersés.
- Vous déboguez quelque chose qui lit ou écrit des données binaires, un format de fichier de sauvegarde, un fichier de configuration, un protocole réseau, et vous devez confirmer exactement quels octets sont produits.
- Vous voulez vérifier une valeur précise, comme confirmer que quatre octets représentent bien la taille de fichier que vous attendez, ou vérifier un horodatage, sans faire confiance à un outil boîte noire pour l’interpréter correctement.
- La curiosité. Bien des gens ouvrent un éditeur hexadécimal une fois juste pour voir à quoi ressemble réellement un format de fichier familier en dessous. C’est une raison parfaitement légitime.
Si aucune de ces situations ne décrit ce que vous faites, vous n’en avez probablement pas besoin, et c’est très bien. C’est un outil spécialisé pour un type de question précis.
Ce qui rend un éditeur hexadécimal bon, pas seulement fonctionnel
Une fois que vous en avez besoin, les outils font pour l’essentiel le même travail de base : montrer les octets, permettre de faire défiler, permettre de rechercher. Les différences qui comptent portent sur la sécurité et la clarté, pas sur le nombre brut de fonctionnalités. Hex Fiend est l’option gratuite et open source vers laquelle la plupart des utilisateurs de Mac finissent par se tourner par défaut, et il est vraiment capable, en particulier avec les très gros fichiers. Hexter adopte une approche plus étroite et plus prudente : chaque fichier s’ouvre en lecture seule, donc consulter quelque chose d’inconnu ne comporte aucun risque, l’édition est une étape explicite et réversible plutôt que l’état par défaut, et les formats de fichiers courants (PNG, ZIP, Mach-O, WAV, SQLite) voient leur structure analysée automatiquement au lieu de vous laisser décoder les en-têtes à la main.
Lequel vous voulez dépend de ce que vous faites. Si vous comparez deux fichiers de plusieurs gigaoctets octet par octet, la comparaison de Hex Fiend est conçue pour cette échelle. Si vous avez juste besoin de confirmer ce qu’est réellement un fichier, de vérifier une poignée d’octets, ou de faire une petite modification prudente sans craindre de démolir l’original par accident, c’est la situation pour laquelle Hexter est conçu.