Fichiers, binaire et compression

Visualiseur hexadécimalLire un fichier octet par octet, et le reconstruire depuis un dump

Ouvrez un fichier pour parcourir ses octets, ou passez à « Coller un dump » pour retransformer une sortie xxd ou hexdump -C en fichier.

Visualiseur hexadécimal

Entrée

example-1x1.png

70 octets (0x46)

Déposez un fichier ici ou utilisez « Ouvrir un fichier ».

Les fichiers sont lus localement dans votre navigateur, par petits morceaux ; rien n'est envoyé.

Vue hexadécimale

00000000 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 .PNG........IHDR
00000010 00 00 00 01 00 00 00 01 08 06 00 00 00 1f 15 c4 ................
00000020 89 00 00 00 0d 49 44 41 54 78 da 63 64 60 f8 5f .....IDATx.cd`._
00000030 0f 00 02 87 01 80 eb 47 ba 92 00 00 00 00 49 45 .......G......IE
00000040 4e 44 ae 42 60 82 ND.B`.
Sélection 0x00000000–0x00000000 (1 octets)

Cliquez sur un octet pour déplacer le curseur. Maj+clic ou Maj+flèches étendent la sélection ; Page préc., Page suiv., Début et Fin fonctionnent dans la vue.

Inspecteur à 0x00000000 (0) · Little endian

Bits
10001001
int8
-119
uint8
137
int16
20617
uint16
20617
int32
1196314761
uint32
1196314761
int64
727905341920923785
uint64
727905341920923785
float32
52816.53515625
float64
5.292397776572611e-260
UTF-8
—

Options

example-1x1.png : 70 octets.

On ouvre un visualiseur hexadécimal (ou lecteur de fichier binaire) quand un fichier refuse de dire ce qu'il est : un téléchargement qui ne s'installe pas, un blob de configuration écrit par une application, une image de firmware, un PNG qu'aucun logiciel ne veut afficher. La colonne d'offset indique où l'on se trouve, la colonne hexa montre chaque octet tel quel, et la colonne ASCII fait ressortir les chaînes lisibles.

Vous pourriez afficher un fichier en hexadécimal dans un terminal avec xxd ou hexdump -C ; ce visualiseur hexadécimal reproduit exactement la même mise en page, ce qui permet de comparer ligne à ligne. Ce que le terminal n'offre pas, c'est un curseur : cliquez sur un octet et l'inspecteur lit l'entier ou le flottant qui commence là, en little ou big endian. La même page transforme aussi un dump hexadécimal collé dans un ticket en fichier binaire d'origine.

Pourquoi ce visualiseur hexadécimal

Il se lit comme le terminal, mais on peut pointer un octet et demander ce qu'il vaut.

Les gros fichiers s'ouvrent tout de suite

Seules les seize lignes visibles et les huit octets sous le curseur sont lus. Une image disque de 3 Go défile aussi facilement qu'une icône de 3 Ko, et rien n'est tronqué au premier mégaoctet.

Un long fichier à gauche dont une petite fenêtre est mise en évidence, agrandie à droite en une grille hexadécimale de seize lignes où l'octet du curseur est marqué.

Un dump collé redevient un fichier

Collez une sortie xxd ou hexdump -C, y compris les lignes * que hexdump utilise pour les lignes répétées, et téléchargez les octets en .bin. Une ligne dont l'offset présente un trou est signalée avec son numéro au lieu d'être comblée par des zéros.

Des lignes de dump hexadécimal dont une est encadrée en rouge pour un trou d'offset, et une flèche vers le fichier binaire reconstruit.

Les valeurs dans les deux ordres d'octets

L'inspecteur lit les octets au curseur comme des entiers de 8 à 64 bits et des flottants de 32 ou 64 bits. En basculant entre little et big endian, on voit les quatre mêmes octets donner deux nombres très différents.

Quatre octets colorés lus dans deux ordres : inversés à gauche pour le little endian, dans l'ordre à droite pour le big endian, chacun donnant une barre de valeur différente.

Tirer le meilleur de la vue

01

Ouvrir un fichier ou coller un dump

Déposez un fichier sur l'entrée ou utilisez « Ouvrir un fichier » : la vue apparaît aussitôt, sans charger tout le fichier. « Coller un dump » accepte xxd, hexdump -C, de l'hexa brut ou un tableau C et convertit 350 ms après la dernière frappe.

  • Désactivez « Conversion automatique » pour ne convertir qu'avec « Convertir » ou Ctrl/Cmd+Entrée.
  • « Charger l'exemple » en mode collage insère un hexdump -C avec une ligne *, pour voir comment les lignes repliées sont dépliées.
02

Se déplacer au clavier plutôt qu'à la barre de défilement

Cliquez sur un octet, puis utilisez les flèches, Page préc. et Page suiv. Ctrl/Cmd+Début et Ctrl/Cmd+Fin vont au premier et au dernier octet. « Aller à l'offset » accepte 0x1A0, 1A0h ou le décimal 416.

  • La recherche porte par défaut sur des octets hexa : une signature comme 89 50 4E 47 ou FF D8 FF se trouve telle quelle ; passez à « Texte » pour les chaînes.
03

Exporter exactement les octets choisis

Sélectionnez des octets avec Maj+clic ou en saisissant un offset de début et une longueur, puis choisissez un format d'export. Dans les sorties hexdump -C et xxd, la colonne d'offset garde les vrais offsets du fichier : l'extrait reste aligné sur l'original.

  • Les exports texte s'arrêtent à 1 Mio ; « Télécharger la sélection (.bin) » copie directement les octets et n'a pas cette limite.

Ce que l'on peut faire des octets

La mise en page du terminal

Hexa en minuscules, un espace de plus après le huitième octet, les octets non imprimables affichés en point, 8, 16 ou 32 octets par ligne. Les octets nuls sont atténués pour sauter facilement le remplissage.

Recherche d'octets et de texte

Cherchez une suite hexa ou une chaîne UTF-8 dans tout le fichier, dans un worker en arrière-plan, avec barre de progression, compteur et boutons précédent et suivant. Les occurrences à cheval sur deux blocs sont trouvées aussi.

Inspecteur de données

Entiers signés et non signés de 8, 16, 32 et 64 bits, float32, float64, les bits de l'octet courant et le caractère UTF-8 qui commence là, tous lus à la position du curseur.

Quatre formats texte et les octets bruts

Copiez ou téléchargez une sélection en hexdump -C, en xxd, en hexa brut au format xxd -p ou en tableau C comme le produit xxd -i, ou enregistrez les octets bruts en .bin.

Limites et règles de lecture

Lecture seule : les octets ne sont jamais modifiés
Pas d'édition, d'insertion, de remplissage ni de rechercher-remplacer, et le fichier d'origine n'est jamais réécrit. Pour patcher, exportez la plage en xxd, modifiez le texte, recollez-le en mode « Coller un dump » et téléchargez le .bin — le même aller-retour qu'avec xxd et xxd -r.
Un trou dans un dump collé est une erreur, pas des zéros
L'offset de chaque ligne doit reprendre exactement là où la précédente s'arrête. xxd -r comble un trou avec des octets nuls ; cet outil s'arrête au premier trou, chevauchement ou caractère inattendu et indique la ligne et la colonne, car un trou signifie le plus souvent que des lignes ont été perdues au copier-coller. Les firmwares Intel HEX sont reconnus et refusés avec un message dédié.
Limites de taille
Les fichiers jusqu'à 4 Gio s'ouvrent. Les dumps collés sont limités à 16 Mio de texte, les exports texte à 1 Mio d'octets sélectionnés, et la recherche s'arrête après 10 000 résultats en le signalant. Un motif de recherche fait au plus 256 octets.
Ce que la colonne texte et la recherche ne font pas
La colonne texte est en ASCII pur : les caractères UTF-8 sur plusieurs octets y apparaissent en points, et la ligne UTF-8 de l'inspecteur décode celui sous le curseur. « Ignorer la casse » ne concerne que A–Z. Pas de jokers, pas de recherche par valeur numérique, ni détection du type de fichier ou analyse de structure.

Questions sur le visualiseur hexadécimal

Comment ouvrir un fichier binaire ?

Déposez-le dans le visualiseur hexadécimal ci-dessus, sans rien installer. Chaque octet s'affiche en hexadécimal avec son offset, et les passages lisibles apparaissent dans la colonne ASCII.

Faut-il lire un fichier en mode binaire ou en hexa ?

Ce sont les mêmes octets : l'hexa n'est qu'une façon de les écrire, deux chiffres par octet. La vue affiche l'hexa, et l'inspecteur donne pour l'octet sous le curseur ses bits, sa valeur décimale et les entiers ou flottants qui commencent là.

Comment récupérer les données hexadécimales d'un fichier ?

Sélectionnez la plage voulue, ou tout le fichier avec « Tout sélectionner », choisissez un format — hexdump -C, xxd, hexa brut ou tableau C — puis copiez ou téléchargez. Au-delà de 1 Mio, téléchargez plutôt les octets en .bin.

Comment convertir un hexdump vers un fichier binaire ?

Passez en mode « Coller un dump », collez la sortie xxd ou hexdump -C, puis « Télécharger tout le fichier (.bin) ». Le résultat est celui de xxd -r, sauf que les lignes manquantes sont signalées au lieu d'être remplacées par des zéros.

Comment gérer l'endianness en lisant un fichier binaire ?

Cliquez sur le premier octet de la valeur : l'inspecteur affiche int16 à int64, float32 et float64. Changez l'ordre des octets dans les options et les mêmes octets sont relus aussitôt dans l'autre ordre.

Toujours une question ?

Ouvrez un fichier dans le visualiseur hexadécimal

Chargez d'abord le PNG d'exemple pour voir sa signature, son bloc IHDR et sa largeur lue en big endian dans l'inspecteur, puis ouvrez votre propre fichier dans le visualiseur hexadécimal.

Tout se passe localement dans votre navigateur.