Comment convertir de l’hexadécimal en texte
- Collez votre chaîne hex, par ex.
48 65 6C 6C 6F,0x48,0x65ou\x48\x65. Tous les séparateurs peuvent être mélangés. - Le texte décodé s’affiche instantanément. Si les caractères semblent incorrects, choisissez un autre encodage : UTF-8, ASCII/Latin-1 ou UTF-16.
- Copiez le texte ou téléchargez-le sous forme de fichier. Cliquez sur Inverser pour reconvertir le texte en hex.
Comment fonctionne le décodage hex en ASCII
Chaque paire de chiffres hex forme un octet d’une valeur comprise entre 00 et FF. En ASCII et en UTF-8, les octets 20–7E sont des caractères imprimables : 48 65 6C 6C 6F se lit donc H, e, l, l, o, soit « Hello ». Les caractères hors ASCII occupent plusieurs octets en UTF-8.
| Hex | Caractère |
|---|---|
0A | Saut de ligne (LF) |
0D | Retour chariot |
20 | Espace |
21 / 2C / 2E | ! / , / . |
30–39 | Chiffres 0–9 |
41–5A | Majuscules A–Z |
61–7A | Minuscules a–z |
C3 A9 | é en UTF-8 |
E2 82 AC | € en UTF-8 |
Choisir le bon encodage
- UTF-8 – le standard du Web et de la plupart des fichiers et API. Un texte en ASCII pur est aussi du UTF-8 valide.
- ASCII / Latin-1 (Windows-1252) – un octet par caractère, pour les textes d’Europe occidentale issus de systèmes plus anciens. Chaque octet correspond à un caractère : le décodage n’échoue donc jamais.
- UTF-16 LE/BE – deux octets par caractère, utilisé par les API Windows et les chaînes Java et JavaScript :
48 00 69 00correspond à « Hi » en UTF-16 LE.
Si vous voyez des symboles �, certains octets ne sont pas valides dans l’encodage choisi – ou bien l’hex représente des données binaires (image, hash, données compressées) plutôt que du texte.
Convertir de l’hex en texte dans votre code
- Python :
bytes.fromhex('48656c6c6f').decode() - Node.js :
Buffer.from('48656c6c6f', 'hex').toString() - JavaScript dans le navigateur :
new TextDecoder().decode(Uint8Array.from('48656c6c6f'.match(/../g), (h) => parseInt(h, 16))) - Linux et macOS :
echo 48656c6c6f | xxd -r -p
Questions fréquentes
Quelle est la différence entre hex en texte et hex en ASCII ?
L’ASCII couvre 128 caractères (octets 00–7F) : lettres non accentuées, chiffres et ponctuation. La conversion hex en texte inclut aussi les caractères accentués, ceux des autres langues et les emoji, que l’UTF-8 stocke sur 2 à 4 octets. Pour un texte sans accents, les deux donnent le même résultat.
Pourquoi ai-je une erreur « octet incomplet » ?
Chaque octet nécessite exactement deux chiffres hex. Un nombre impair de chiffres signifie généralement qu’il manque un zéro de tête (écrivez 0A, et non A) ou qu’un caractère a été perdu lors de la copie. Le message indique où se trouve le problème.
Puis-je décoder de l’hex contenant des préfixes 0x ou \x ?
Oui. Les préfixes comme 0x, \x et %, ainsi que les espaces, sauts de ligne, virgules, deux-points et tirets, sont supprimés automatiquement : vous pouvez coller directement des tableaux C, des chaînes d’octets Python et des dumps hex.
Mes données sont-elles envoyées quelque part ?
Non. L’hex est décodé en JavaScript dans votre navigateur et ne quitte jamais votre appareil.