Comment convertir de l’hex en texte
- Collez l’hex dans Entrée · Hex. Majuscules ou minuscules, avec ou sans séparateurs.
- Le texte s’affiche dans Sortie · Texte pendant la saisie. Décochez En direct si vous préférez convertir avec Exécuter.
- Si la sortie affiche
�, ouvrez Jeu de caractères sous la sortie et essayez-en un autre. L’UTF-8 est le choix par défaut ; ASCII, Latin-1, Windows-1252 et 23 autres figurent dans la liste. - Utilisez Copier la sortie ou Télécharger pour le texte. Si l’hex est le dump d’un fichier plutôt que du texte, Enregistrer les octets écrit les octets bruts sur le disque avec une extension devinée d’après le contenu.
Le bouton Texte → Hex au-dessus de l’outil inverse le sens ; vous pouvez aussi passer à Texte en hex.
Formats hex lus par le convertisseur
L’hex s’écrit de bien des façons selon l’outil qui l’a produit. Tous ces exemples se décodent en Hello :
| Format | Exemple | Source typique |
|---|---|---|
| Simple | 48656c6c6f | xxd -p, sha256sum, dumps de bases de données |
| Avec espaces | 48 65 6c 6c 6f | Wireshark, éditeurs hexadécimaux |
| Deux-points | 48:65:6c:6c:6f | empreintes de certificats, sortie d’openssl |
| Tirets | 48-65-6C-6C-6F | BitConverter.ToString en .NET |
Préfixe 0x | 0x48 0x65 0x6c 0x6c 0x6f ou 0x48656c6c6f | code source C, débogueurs |
Échappements \x | \x48\x65\x6c\x6c\x6f | Python, scripts shell, logs |
Les virgules, points-virgules et points fonctionnent aussi comme séparateurs. Ne collez que les colonnes hex : la vue par défaut de xxd commence chaque ligne par un offset comme 00000000: et se termine par une colonne ASCII ; le convertisseur lirait alors l’offset comme des octets, puis signalerait une erreur à la première lettre de la colonne ASCII. Lancez plutôt xxd -p pour obtenir de l’hex simple.
Comment lire de l’hex en ASCII
Chaque paire de chiffres hex est un octet et, en ASCII, chaque octet inférieur à 80 correspond à un caractère. Les plages à retenir :
| Hex | Caractères |
|---|---|
20 | espace |
30–39 | chiffres 0–9 |
41–5A | A–Z |
61–7A | a–z |
21–2F | ! " # $ % & ' ( ) * + , - . / |
0A, 0D | saut de ligne et retour chariot (0D 0A est un saut de ligne Windows) |
Majuscules et minuscules sont séparées d’exactement 20 : 41 est A, 61 est a. Avec cela et le tableau, vous pouvez lire de courtes séquences hex à l’œil. 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 donne Hello, world : 2c est la virgule et 20 l’espace.
Hex en UTF-8 : les octets de 80 à FF
Tout ce qui sort de l’anglais de base occupe plus d’un octet en UTF-8, et ces octets valent tous 80 ou plus. Les mêmes octets donnent un texte différent selon le jeu de caractères avec lequel on les lit :
| Hex | Lu en UTF-8 | Lu en Windows-1252 |
|---|---|---|
63 61 66 c3 a9 | café | café |
e2 82 ac | € | € |
f0 9f 91 8b | 👋 | 👋 |
63 61 66 e9 | caf� | café |
Les trois premières lignes sont des données UTF-8 ; la dernière contient des données Latin-1 ou Windows-1252, où é est l’octet unique e9. Une suite de caractères à et â signale presque toujours des octets UTF-8 lus avec un jeu de caractères à un octet. Si aucun jeu de caractères ne donne un texte sensé, les octets ne sont probablement pas du texte du tout : regardez Ressemble à dans la ligne d’état, qui nomme le format quand il en reconnaît un.
Hex, Base64 et les mêmes octets
L’hex utilise deux caractères par octet et le Base64 quatre caractères pour trois octets : pour les mêmes données, le Base64 est donc plus court d’un tiers. Si ce que vous avez commence par quelque chose comme SGVsbG8 et contient des lettres au-delà de f, c’est du Base64 : décodez-le avec Base64 en texte. Pour réencoder des octets hex en Base64 pour une API ou un fichier de configuration, utilisez Hex en Base64. La comparaison entre hex, Base32, Base58 et Base85 explique quand chacun est utilisé.
Hex en chaîne dans le code
bytes.fromhex("48656c6c6f").decode("utf-8") # 'Hello'
bytes.fromhex("48 65 6c 6c 6f").decode("utf-8") # spaces are fine: 'Hello'
bytes.fromhex ignore les espaces mais refuse les deux-points et 0x : retirez-les d’abord. En Node.js :
Buffer.from("48656c6c6f", "hex").toString("utf8"); // 'Hello'
Buffer.from("48zz65", "hex"); // <Buffer 48>
La deuxième ligne montre un piège : Buffer.from s’arrête au premier caractère qui n’est pas de l’hex et renvoie ce qu’il a lu jusque-là, sans erreur. D’autres exemples sur les pages Python et Node.js.
FAQ
Comment convertir de l'hex en ASCII ?
Collez l’hex et lisez la sortie. L’ASCII ne couvre que les octets 00 à 7F : réglez Jeu de caractères sur ASCII si vous voulez que tout ce qui dépasse s’affiche en � au lieu d’être lu comme de l’UTF-8.
Que donne 48 65 6c 6c 6f en texte ?
Hello. 48 est H, 65 est e, 6c est l (deux fois) et 6f est o.
Pourquoi mon hex se transforme-t-il en é ou en d'autres caractères bizarres ?
Les octets sont de l’UTF-8 lu comme du Latin-1 ou du Windows-1252, ou l’inverse. c3 a9 donne é en UTF-8 et é en Windows-1252. Changez de Jeu de caractères jusqu’à ce que le texte se lise correctement.
Que signifie « nombre impair de chiffres hexadécimaux » ?
Chaque octet s’écrit avec deux chiffres hex : le total doit donc être pair. Un chiffre s’est perdu au copier, souvent au début ou à la fin. Vérifiez la première et la dernière paire de l’entrée.
Puis-je partager le lien d'une conversion ?
Oui. Ajoutez #in= suivi de l’hex à l’adresse de la page, par exemple /hex-to-text/#in=48656c6c6f. La partie après # reste dans le navigateur et n’est pas envoyée au serveur.