Texte en hexadécimal

Lire un vidage mémoire, vérifier ce qu’un protocole a réellement mis sur le réseau, démonter une épreuve de CTF : tôt ou tard, il faut les octets qui se cachent derrière une chaîne. Collez un texte et ce convertisseur vous le rend octet par octet en hexadécimal, soit espacé comme un hexdump (48 65 6c 6c 6f), soit d’un seul tenant (48656c6c6f). Changez de mode et le trajet s’inverse : l’hexadécimal collé redevient du texte lisible.

Le fonctionnement du convertisseur

  1. 1

    Choisissez le sens

    Texte vers hexadécimal encode ce que vous saisissez. Hexadécimal vers texte le ramène à des caractères.

  2. 2

    Choisissez le séparateur

    À l'encodage, une simple espace entre les octets ou rien du tout. Ce sont les deux seules options.

  3. 3

    Collez votre saisie

    Le texte est lu en UTF-8. L'hexadécimal peut arriver avec des préfixes 0x ou \x, des virgules, des espaces ou des retours à la ligne : ils sont retirés pour vous.

  4. 4

    Convertissez et copiez

    Le résultat s'affiche en dessous avec un bouton de copie. Rien n'est téléchargé.

Pourquoi l’hexadécimal plutôt que le décimal

Un chiffre hexadécimal couvre exactement 4 bits, donc deux chiffres couvrent exactement un octet, à chaque fois. Le décimal oblige à calculer pour savoir si une valeur tient encore (128 est-il dans la plage ? et 256 ?), là où l’hexadécimal le montre : 00 est le plus petit octet, ff le plus grand, et chaque octet intermédiaire fait deux caractères de large. C’est cet alignement qui fait de l’hexadécimal la notation des vidages mémoire, des captures de paquets, des signatures de fichiers et des codes couleur.

Ce que ce convertisseur produit réellement

  • Toujours en minuscules. L’encodeur écrit 6c, jamais 6C. L’hexadécimal ne distingue pas la casse, rien n’est donc perdu, mais si votre format cible exige des majuscules, passez le résultat dans un convertisseur de casse.
  • Toujours deux chiffres par octet. Une tabulation vaut 09, pas 9, pour que les frontières d’octets restent comptables.
  • Une espace ou rien. Ce sont les deux seuls séparateurs. Aucun préfixe 0x ni \x n’est ajouté à l’encodage : mettez-les dans votre éditeur si vous avez besoin de chaînes d’échappement C ou Python.
  • De l’UTF-8 de bout en bout. Le texte se mesure en octets, pas en caractères.

Hexadécimal et Unicode

H occupe un octet en UTF-8 et devient donc 48. Tout ce qui sort de l’ASCII pur en occupe davantage :

Caractère Hexa UTF-8 Octets
A 41 1
é c3 a9 2
€ e2 82 ac 3
🚀 f0 9f 9a 80 4

Ainsi Hello s’encode en 48 65 6c 6c 6f, cinq caractères et cinq octets, alors que café s’encode en 63 61 66 c3 a9 : quatre caractères, mais cinq octets, parce que le é en réclame deux. C’est aussi le cas du ç (c3 a7) et de toutes les voyelles accentuées. Si une chaîne courte donne plus de paires hexadécimales que prévu, c’est généralement l’explication.

Ce que le décodeur accepte

Collez l’un de ces formats et vous récupérez Hello :

  • 48 65 6c 6c 6f, à la manière d’un hexdump
  • 48656c6c6f, brut et sans séparateur
  • 0x48656c6c6f, à la manière d’un littéral entier
  • \x48\x65\x6c\x6c\x6f, échappements C et Python
  • 48,65,6C,6C,6F, séparé par des virgules et dans n’importe quel mélange de casse

Les préfixes, les virgules, les espaces, les tabulations et les retours à la ligne sont retirés avant le décodage. Le reste ne l’est pas : un trait d’union dans 48-65, un # devant un code couleur ou une lettre au-delà du f interrompent le décodage, tout comme un nombre impair de chiffres, puisqu’un demi-octet ne peut pas devenir un caractère. Dans ces cas, l’outil ne renvoie rien plutôt que de deviner un résultat partiel. Si la zone de sortie reste vide, c’est de ce côté qu’il faut chercher.

Les couleurs hexadécimales, même notation mais autre contenu

#ff8800 emploie le même système en base 16, mais ces trois octets décrivent les canaux rouge, vert et bleu, pas des caractères. Retirez le # et décodez-le ici : vous obtiendrez trois octets bruts qui ne forment aucun texte lisible. Pour cela, utilisez plutôt un sélecteur de couleur.

Questions fréquentes

Oui. Hexadécimal et base16 sont deux noms du même système : seize chiffres (0 à 9 et a à f), portant chacun 4 bits.

Pas avec cet outil. L’encodeur écrit toujours en minuscules. Comme l’hexadécimal ne distingue pas la casse, 4f et 4F sont le même octet : passez donc le résultat dans un convertisseur de casse si votre format l’impose. Le décodeur, lui, lit les deux formes sans broncher.

Le décodeur n’accepte que les chiffres 0 à 9 et a à f, en nombre pair, après avoir retiré les préfixes 0x et \x, les virgules et les espaces. Un trait d’union, un #, une lettre au-delà du f ou un chiffre manquant rendent la saisie invalide, et l’outil préfère un résultat vide à un résultat faux. Comptez les chiffres et cherchez la ponctuation parasite.

La plupart des émojis se trouvent dans les plans supplémentaires d’Unicode, que l’UTF-8 stocke sur quatre octets. Les caractères ASCII purs restent sur un octet, ce qui explique qu’un texte anglais donne une paire par caractère et qu’un texte français accentué non.

Non. Il s’agit d’un champ de texte : il traite ce que vous pouvez taper ou coller. Pour des données binaires, le base64 est à la fois plus compact et plus facile à transporter.

Oui. La conversion s’exécute sur notre serveur : ce que vous collez part avec la requête et le résultat revient. Nous n’enregistrons que l’action et les options choisies, jamais le texte lui-même, et le texte n’est pas conservé après la réponse. Pour des données réellement confidentielles, utilisez un convertisseur qui fonctionne hors ligne sur votre propre machine.

Outils similaires

Outil disponible dans d’autres langues