Aller au contenu
Case Converter Online
fr

Convertisseur hexadécimal en texte

Collez des octets hexadécimaux pour les lire en texte, ou tapez un texte pour voir ses codes hexa. Espaces, préfixes 0x et échappements \x sont tous compris.

Fonctionne dans les deux sens. Au décodage, les espaces, 0x, \x, deux-points et virgules de l'hexa sont ignorés.

Ce qu’est l’hexadécimal

L’hexadécimal, ou hexa, est un système de numération en base 16. Il utilise les chiffres de 0 à 9 et les lettres de A à F, où A vaut 10 et F vaut 15. Deux chiffres hexa peuvent représenter n’importe quelle valeur de 0 à 255, soit exactement un octet. L’hexa est donc une façon compacte et lisible de montrer des données brutes.

On trouve de l’hexa dans les vidages de mémoire, les captures de paquets réseau, les signatures de fichiers, les codes couleur, les séquences d’échappement du code source et les journaux d’erreurs. Retransformer ces octets en texte révèle souvent ce que disent les données.

Comment utiliser le convertisseur hexadécimal en texte

Hexa vers texte. Collez de l’hexa dans la zone Hexa à gauche. Le texte décodé apparaît dans la zone Texte à droite. Le convertisseur ignore les séparateurs habituels, vous pouvez donc coller :

  • des octets espacés : 48 65 6c 6c 6f
  • une seule longue suite : 48656c6c6f
  • des préfixes à la C : 0x48 0x65 0x6c
  • des séquences d’échappement : \x48\x65\x6c
  • des octets séparés par des deux-points ou des virgules : 48:65:6c:6c:6f

Texte vers hexa. Tapez dans la zone Texte à droite. L’hexa apparaît à gauche.

Format hexa règle l’écriture de l’hexa :

  • Espacé : 48 65 6c pour lire et comparer
  • Collé : 48656c pour un stockage compact et les chaînes de type hash
  • Préfixé : 0x48 0x65 pour le C, le C++ et les langages proches
  • Échappé : \x48\x65 pour les chaînes littérales en Python, JavaScript et scripts shell

Majuscules A à F écrit les lettres en capitales. Copier récupère l’une ou l’autre zone et Effacer vide les deux.

Comment ça marche

Pour décoder, le convertisseur retire les séparateurs, vérifie qu’il ne reste que des chiffres hexa et qu’ils sont en nombre pair, puis lit chaque paire de chiffres comme un octet. Les octets sont décodés en texte UTF-8. Pour encoder, il fait l’inverse : le texte devient des octets UTF-8 et chaque octet devient deux chiffres hexa.

Chaque chiffre hexa représente 4 bits. L’octet 48 vaut 4 × 16 + 8 = 72, le code du H majuscule.

Exemples

Hexa Texte
41 A
48 69 21 Hi!
48 65 6c 6c 6f Hello
48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 21 Hello, World!
42 6f 6e 6a 6f 75 72 Bonjour
63 61 66 c3 a9 café
e2 82 ac €

Le même texte dans chaque format de sortie :

Format café
Espacé 63 61 66 c3 a9
Collé, majuscules 636166C3A9
Préfixé 0x63 0x61 0x66 0xc3 0xa9
Échappé \x63\x61\x66\xc3\xa9

Dans un texte français, chaque lettre accentuée apparaît ainsi sur deux octets, c3 suivi d’un second octet : é est c3 a9, è c3 a8, à c3 a0, ç c3 a7. Si vous voyez e9 seul à la place de c3 a9, les données ont probablement été enregistrées en Latin-1 (ISO-8859-1) et non en UTF-8, et l’outil ne pourra pas les lire comme du texte.

Valeurs hexa courantes

Hexa Caractère Hexa Caractère
20 espace 30 0
0a saut de ligne 41 A
0d retour chariot 61 a
09 tabulation 7e ~

Conseils et limites

  • Un résultat illisible signifie en général que les données ne sont pas du texte. Les images, les fichiers compressés et les données chiffrées donnent des symboles bizarres et des caractères de remplacement. C’est normal.
  • Vérifiez l’ordre des octets pour les nombres. Cet outil lit les octets dans l’ordre donné. Les nombres sur plusieurs octets des vidages de mémoire sont souvent stockés en little endian : lisez-les de droite à gauche.
  • Les codes couleur hexa ne sont pas du texte. #ff8800 décrit des niveaux de rouge, de vert et de bleu, pas des lettres.
  • L’hexa n’est pas un chiffrement. C’est simplement une autre façon d’écrire des octets.

Autres façons de convertir de l’hexa

Ligne de commande. Sous Linux et macOS, xxd -p transforme un fichier en hexa simple et xxd -r -p fait l’inverse. echo -n Hello | xxd -p affiche 48656c6c6f.

Python. bytes.fromhex('48656c6c6f').decode() renvoie Hello, et 'Hello'.encode().hex() renvoie 48656c6c6f.

JavaScript (Node). Buffer.from('48656c6c6f', 'hex').toString() renvoie Hello.

Excel. =CAR(HEXDEC("48")) dans Excel en français (=CHAR(HEX2DEC("48")) en anglais) renvoie H pour un octet ASCII seul. =DECHEX(72) (=DEC2HEX(72)) fait l’inverse.

Outils associés

Pour voir les mêmes octets en uns et en zéros, utilisez le traducteur de code binaire. L’outil d’encodage UTF-8 montre chaque caractère avec son point de code et ses octets. Si vos données sont en Base64 plutôt qu’en hexa, utilisez le décodeur Base64.

Hexadécimal en texte : questions fréquentes

Comment convertir de l'hexadécimal en texte ?

Collez l'hexa dans la zone Hexa à gauche. Le texte apparaît aussitôt à droite. 48 65 6c 6c 6f, 48656c6c6f et 0x48 0x65 0x6c 0x6c 0x6f se décodent tous en Hello.

Pourquoi une erreur parle-t-elle d'un nombre impair de chiffres ?

Chaque octet s'écrit avec exactement deux chiffres hexa, donc un hexa valide a toujours un nombre pair de chiffres une fois les séparateurs retirés. Un chiffre manquant ou en trop quelque part dans le collage en est la cause habituelle. Les valeurs à un seul chiffre doivent s'écrire avec un zéro devant, comme 0a au lieu de a.

Le résultat est-il en ASCII ou en UTF-8 ?

En UTF-8, qui inclut l'ASCII. Un texte sans accents donne le même hexa dans les deux. Les caractères au-delà de l'ASCII occupent plus d'un octet : é s'écrit c3 a9 et le signe euro e2 82 ac.

Les majuscules ou minuscules comptent-elles en hexa ?

Non. 4F et 4f désignent le même octet. Activez Majuscules A à F si l'endroit où vous collez attend des lettres capitales.

Plus d'outils code et données

Voir tous les outils