Convertisseur hexadécimal en texte

Décodez les valeurs hexadécimales en caractères lisibles.

Chaque fois qu’un outil affiche le contenu d’un fichier binaire, il l’exprime souvent en hexadécimal. Deux chiffres hex forment un octet (0 à 255). Chaque octet peut représenter un caractère ASCII ou UTF-8. Pour décoder ce qu’on lit, il suffit de convertir les paires hex en caractères.

Deux chiffres hex font un octet, un octet fait un caractère

Quand vous voyez 48 65 6C 6C 6F en hexadécimal dans un debuggeur, vous regardez un message. Chaque paire (48, 65, 6C, 6C, 6F) est un octet. 48 en hex = 72 en décimal = la lettre H en ASCII. 65 en hex = 101 en décimal = la lettre e. Ensemble, c’est « Hello ».

C’est pourquoi les outils affichent les fichiers binaires en hex : c’est dense (deux chiffres par caractère), précis (pas d’ambiguïté sur les frontières), et facile à copier.

Signatures hexadécimales courantes des fichiers

Type de fichierPremiers octets (hex)Interprétation
PNG89 50 4E 47Octet de contrôle, puis « PNG »
PDF25 50 44 46« %PDF »
ZIP50 4B 03 04« PK » (PKware)
JPEGFF D8 FF E0Marqueurs JPEG
GIF47 49 46 38« GIF8 »

Lire un fichier par sa signature

Les fichiers commencent par une séquence unique d’octets, la signature ou magic number. PNG commence par 89 50 4E 47 (un octet non imprimable suivi de « PNG »). Les fichiers ZIP commencent par 50 4B (« PK »). Ces signatures permettent à un système d’exploitation d’identifier le type d’un fichier indépendamment de son extension. Si vous renommez un PNG en .txt, le navigateur regarde les premiers octets et sait encore que c’est une image.

Les fichiers malveillants tentent parfois de contrefaire une signature, mais c’est la première chose à vérifier.

Décoder une chaîne hexadécimale en texte

  1. Écrivez votre hex. Prenons 48 69.
  2. Divisez en paires d’octets. 48 et 69.
  3. Convertissez chaque paire en décimal. 48 hex = 72 décimal. 69 hex = 105 décimal.
  4. Cherchez le caractère ASCII. 72 = H, 105 = i.
  5. Écrivez le résultat. « Hi ».

Questions sur hex vers texte

Qu’arrive-t-il si j’essaie de décoder un octet comme 00 ou 1F ?

Ce sont des caractères de contrôle, non imprimables (retour à la ligne, tabulation, son bip). Ils n’affichent pas à l’écran mais contrôlent le dispositif. L’outil les signale.

Est-ce que tous les octets entre 0 et 255 ont un caractère ?

Oui, mais beaucoup ne sont pas imprimables. ASCII (0-127) est bien défini. De 128 à 255, cela dépend de l’encodage : Latin-1, UTF-8, Windows-1252, etc.

Comment identifier le type d’un fichier corrompu ?

Lisez les premiers octets. Si la signature est correcte (PNG commence par 89 50 4E 47), le fichier n’est pas corrompu au démarrage. Si la signature est manquante ou altérée, la corruption a commencé très tôt.

Est-ce que l’émoji se code en hex comme les lettres ?

Un émoji prend plusieurs octets en UTF-8 (souvent 4). Le cœur ❤ en UTF-8 est E2 9D A4. Vous verriez trois paires hex pour un seul caractère.

Pourquoi un fichier commence-t-il par FF ou 89 au lieu de texte lisible ?

C’est une protection contre les erreurs. Si un fichier binaire commençait par du texte, quelqu’un pourrait le confondre avec du texte brut. Un octet inhabituel signifie clairement « c’est du binaire, ne m’ouvrez pas dans un éditeur ».

Cookie
Nous nous soucions de vos données et aimerions utiliser des cookies pour améliorer votre expérience.