Convertisseur Texte ↔ Hexadécimal

Encodez du texte en hexadécimal et décodez du hexadécimal en texte lisible — compatible UTF-8, entièrement dans votre navigateur.

1 084 vues

Texte vers Hex

Hex vers Texte

Comment fonctionne l'encodage texte-hexadécimal ?

L'hexadécimal est un système numérique positionnel en base 16 : 16 symboles (0-9, puis A-F pour 10-15) où la position de chaque chiffre vaut une puissance de 16. La raison pour laquelle il s'associe si naturellement à l'informatique est qu'un chiffre hexadécimal représente exactement 4 bits (un « nibble ») — donc deux chiffres hexadécimaux représentent toujours exactement un octet (8 bits), sans arrondi ni ambiguïté. C'est pourquoi une valeur d'octet n'a jamais besoin de plus de deux caractères hexadécimaux : 0-255 correspond parfaitement à 00-FF.

Cet outil convertit le texte vers et depuis cette représentation. Le texte est d'abord converti en octets bruts via UTF-8 (ainsi chaque caractère, y compris les lettres turques et les emoji, survit à l'aller-retour), puis chaque octet est écrit comme sa paire hexadécimale à deux chiffres : « Hi » devient 48 69, car la lettre H est l'octet 72 (0x48) et i est l'octet 105 (0x69). Un exemple concret avec un caractère non-ASCII : « çay » s'encode en C3 A7 61 79 — « ç » seul prend deux octets (C3 A7) car il sort de la plage ASCII à un seul octet, tandis que « a » et « y » font chacun un octet. Le décodage inverse le processus, en ignorant les espaces, les sauts de ligne et les préfixes « 0x ».

Cette correspondance entre texte, octets et hexadécimal rend aussi l'outil utile bien au-delà de la curiosité : coller un dump hexadécimal issu d'un analyseur réseau ou d'une console série et le relire comme du texte, intégrer une courte charge utile binaire dans une chaîne JSON sous forme hexadécimale, ou vérifier qu'une valeur produite par votre propre code correspond à ce qu'un document de spécification indique en hexadécimal — tout cela n'est que la direction encodage/décodage appliquée à une tâche de débogage réelle.

Ce qu'il faut savoir

  • L'encodage hexadécimal n'est pas du chiffrement : il ne fait que changer la représentation des données, pas leur confidentialité. Toute chaîne hexadécimale se décode instantanément et de manière déterministe vers les octets d'origine — quiconque possède la chaîne peut la lire. Pour une confidentialité réelle, utilisez un vrai chiffrement (par ex. AES), pas un encodage.
  • Pourquoi 4 bits par chiffre compte : un nibble (4 bits) a exactement 16 valeurs possibles (0000-1111 en binaire), ce qui correspond un à un à un seul chiffre hexadécimal sans rien laisser de côté — contrairement au décimal, où convertir du binaire en base 10 nécessite de l'arithmétique sur tout le nombre. C'est pourquoi l'hexadécimal apparaît dans les codes couleur (#RRGGBB — trois octets, six chiffres hexadécimaux), les adresses mémoire et le débogage bas niveau : c'est la vue lisible la plus compacte du binaire brut.
  • L'UTF-8 est à largeur variable : les caractères ASCII prennent un octet, mais les lettres accentuées et la plupart des écritures non latines en prennent deux, et les emoji en prennent souvent quatre — c'est pourquoi la longueur de la sortie hexadécimale n'est pas simplement « deux caractères par lettre visible » dès que du texte non-ASCII est impliqué.
  • Formats d'entrée acceptés : le décodeur accepte les paires hexadécimales avec ou sans espaces, sauts de ligne, ou préfixes « 0x » — « 48 69 », « 4869 » et « 0x48 0x69 » se décodent tous en « Hi ».
  • La casse n'a pas d'importance pour le décodage : les lettres hexadécimales A-F peuvent être écrites en majuscules, minuscules ou mélangées, et se décoderont de manière identique, car les deux représentent les mêmes valeurs sur quatre bits — seuls le groupement et l'ordre des octets comptent.

Questions fréquentes

L'encodage hexadécimal est-il sécurisé ?

Non — il ne fait que changer la représentation, pas la confidentialité. N'importe qui peut décoder du hex instantanément. Pour des données confidentielles, utilisez un vrai chiffrement (par ex. AES) à la place.

Les caractères turcs et les emoji sont-ils pris en charge ?

Oui. L'outil encode via UTF-8, donc chaque caractère Unicode — accents, lettres turques, emoji — se convertit et se restaure correctement, même si certains caractères occupent plus d'un octet.

Quels formats d'entrée le décodeur accepte-t-il ?

De simples paires hexadécimales avec ou sans espaces, sauts de ligne ou préfixes « 0x » : « 48 69 », « 4869 » et « 0x48 0x69 » se décodent tous en « Hi ».

Pourquoi un chiffre hexadécimal équivaut-il toujours à 4 bits ?

Parce que 4 bits peuvent représenter exactement 16 valeurs distinctes (2⁴ = 16), correspondant un à un aux 16 symboles de l'hexadécimal (0-9, A-F). C'est pourquoi convertir entre binaire et hexadécimal est un simple lookup, sans division ni reste à calculer, contrairement à une conversion en décimal.

Pourquoi les codes couleur comme #FF5733 utilisent-ils l'hexadécimal plutôt que le décimal ?

Les canaux rouge, vert et bleu d'une couleur sont chacun stockés comme un seul octet (0-255), et l'hexadécimal représente un octet de façon compacte en exactement deux chiffres — #FF5733 se lit instantanément comme trois octets, FF, 57 et 33, alors que l'équivalent décimal (255, 87, 51) nécessite des virgules séparatrices et des nombres de longueur variable, ce qui est plus lourd à saisir dans du CSS ou un outil de conception.

Commentaires

Pas encore de commentaires — soyez le premier à en écrire un !

Outils similaires