Convertir du texte en hexadécimal
Le texte devient une suite d'octets en hexadécimal, et un code hex redevient du texte ; le sens est détecté tout seul
Vos données restent chez vous. La conversion se fait dans le navigateur ; rien n'est envoyé à un serveur.
Cet outil a-t-il fait le travail ?
Merci, votre retour nous est bien parvenu.
Comment ça marche
Écrivez « Café » dans le panneau de gauche : en UTF-8, le résultat est 43 61 66 C3 A9. Les trois premières lettres prennent un octet chacune, mais « é » en prend deux (C3 A9), et la note l'indique : 4 caractères → 5 octets. Passez l'encodage sur ISO-8859-1 et le même mot donne 43 61 66 E9, un octet par lettre ; en UTF-16 BE, chaque lettre prend deux octets et « é » devient 00 E9. Dans l'autre sens, collez 42 6F 6E 6A 6F 75 72 et vous obtenez « Bonjour ». Les préfixes 0x et \x sont retirés, et les espaces, virgules, deux-points et tirets entre les octets sont ignorés : 0x42,0x6F et 42:6F se lisent de la même façon. Un mot comme « cafe » ou « face » ne contient que des lettres de A à F, mais il reste traité comme du texte : pour être pris pour du hex, l'entrée doit contenir un chiffre, un préfixe 0x ou des paires séparées. S'il manque un chiffre (nombre impair) ou si un caractère comme « G » apparaît dans le code, un message donne sa position. En UTF-16, les marques d'ordre FF FE et FE FF en tête sont reconnues. Le texte « œuvre » ne passe pas en ISO-8859-1 : la lettre œ n'existe pas dans cet encodage, et la page le dit au lieu d'écrire un faux octet.
Cet outil est aussi connu sous le nom de hex to text.
Qu'est-ce que Hexadécimal ?
Le système hexadécimal compte en base 16 avec les chiffres 0 à 9 puis les lettres A à F (A = 10, F = 15). Deux chiffres hexadécimaux couvrent exactement les 256 valeurs d'un octet, de 00 à FF ; c'est pourquoi les éditeurs, les outils réseau et les programmeurs écrivent les octets ainsi. Le préfixe 0x (0x41) signale en programmation qu'un nombre est écrit en hexadécimal.
Qu'est-ce que Encodage des caractères ?
Un encodage est la règle qui transforme chaque caractère en un ou plusieurs octets. UTF-8 écrit l'ASCII sur un octet et les autres caractères sur deux à quatre octets ; ISO-8859-1 (Latin-1) écrit chaque caractère sur un seul octet mais n'en connaît que 256 ; UTF-16 utilise deux ou quatre octets. Lire des octets avec le mauvais encodage produit du texte abîmé comme « é » à la place de « é ».
Quelle différence entre le code hexadécimal et le code ASCII d'un caractère ?
Le code d'un caractère (son point de code Unicode) est un seul nombre : « é » vaut 233, soit E9 en hexadécimal, quel que soit l'encodage. Les octets en hexadécimal montrent comment ce caractère est réellement stocké dans un fichier, et cela dépend de l'encodage : C3 A9 en UTF-8, E9 en ISO-8859-1, 00 E9 en UTF-16. Pour les lettres sans accent, les deux coïncident (A = 65 = 41) ; dès qu'un accent apparaît, seul le hex des octets dit ce que contient vraiment le fichier.
Le piège : un caractère n'est pas toujours un octet
Le hexadécimal montre des octets, pas des lettres. En UTF-8, les lettres sans accent prennent un octet, mais é, è, ç et à en prennent deux (é = C3 A9, ç = C3 A7, à = C3 A0), œ aussi (C5 93), et le signe € en prend trois (E2 82 AC). Un texte français de 100 caractères peut donc faire 110 octets ou plus.
Le même octet ne veut pas dire la même chose selon l'encodage. Si un fichier écrit en UTF-8 est lu comme du Windows-1252, « é » s'affiche « é » : les deux octets C3 A9 sont pris pour deux lettres. Si vous voyez ce genre de texte abîmé, collez-le ici, regardez les octets en hex, puis relisez-les avec le bon encodage.
Quand un octet ne forme pas une séquence UTF-8 valide, il est affiché en � (U+FFFD) et la note indique la position du premier octet fautif. Un nombre impair de chiffres est une erreur : chaque octet s'écrit avec exactement deux chiffres.
- é : C3 A9 (UTF-8) · E9 (ISO-8859-1) · 00 E9 (UTF-16 BE)
- ç : C3 A7 (UTF-8) · E7 (ISO-8859-1)
- œ : C5 93 (UTF-8) · absent de l'ISO-8859-1 · 01 53 (UTF-16 BE)
- € : E2 82 AC (UTF-8) · absent de l'ISO-8859-1 · 20 AC (UTF-16 BE)
Quel encodage et quelle écriture choisir ?
UTF-8 est le bon choix pour une page web, un fichier JSON, un e-mail ou un fichier récent. Choisissez ISO-8859-1 pour inspecter un vieux fichier ou un appareil qui n'écrit qu'un octet par lettre ; ce jeu contient é, è, à et ç, mais ni œ ni €. UTF-16 BE correspond au texte interne de Windows et de Java ; un fichier qui commence par FF FE est en UTF-16 petit-boutiste, et cette marque est reconnue à la lecture.
Pour l'écriture : « Avec espaces » est la plus lisible et correspond à ce qu'affiche un éditeur hexadécimal ; « Collé » convient à un champ qui attend une chaîne continue, comme une empreinte ou une clé ; « Préfixe 0x » se colle dans un tableau d'octets en C, Java ou JavaScript. Si vous voulez les numéros de caractères (é = 233) et non des octets, utilisez plutôt le convertisseur de code ASCII de ce site.
Questions fréquentes
Comment convertir un texte en hexadécimal ?
Collez le texte dans le panneau de gauche. Le résultat hexadécimal apparaît à droite, un octet = deux chiffres, avec des espaces entre les octets par défaut. L'encodage UTF-8 est utilisé sauf si vous en choisissez un autre ; la note indique combien de caractères et d'octets ont été traités.
Pourquoi « é » donne-t-il deux octets ?
En UTF-8, seuls les caractères ASCII (lettres sans accent, chiffres, ponctuation de base) tiennent sur un octet. « é » s'écrit C3 A9, sur deux octets. En ISO-8859-1, le même « é » tient sur un seul octet, E9. Le résultat dépend donc de l'encodage choisi, et c'est pour cela qu'il est affiché dans la note.
Pourquoi mon code hex est-il refusé ?
Deux causes fréquentes : un nombre impair de chiffres (chaque octet en demande deux, il en manque un ou il y en a un de trop), ou un caractère qui n'est pas hexadécimal, comme G, O ou une lettre accentuée. Le message indique la position du caractère fautif. Les préfixes 0x et les séparateurs comme l'espace, la virgule ou le tiret sont acceptés.
Le texte que je colle est-il envoyé à un serveur ?
Non. La conversion se fait entièrement dans votre navigateur ; le texte et le code hex ne quittent pas votre appareil et ne sont enregistrés nulle part. Une fois la page ouverte, l'outil fonctionne même sans connexion Internet.