Convertisseur ASCII en Hex

Hex est l’abréviation des programmeurs pour les octets : deux chiffres de 0-9 et A-F couvrent chaque valeur de 0 à 255 sous une forme compacte. Ce convertisseur prend du texte ASCII et renvoie le code hexadécimal pour chaque caractère, ce qui est nécessaire lorsque vous écrivez un tableau d’octets en C, inspectez un paquet réseau ou convertissez entre des formats d’encodage lors d’une session de rétro-ingénierie.

Comment l'ASCII devient hex

  1. 1

    Collez votre texte

    Tout caractère ASCII fonctionne — lettres, chiffres, ponctuation.

  2. 2

    Chaque caractère est recherché comme un octet

    Par exemple, `H` est 72 en décimal, ce qui est `0x48` en hex.

  3. 3

    Les paires hex sont jointes

    Vous pouvez configurer un séparateur : espace, virgule, préfixe `0x`, ou aucun délimiteur.

  4. 4

    Copiez le résultat

    Collez dans le code source, un éditeur hexadécimal ou un analyseur de protocole.

Exemple pratique

La chaîne Go! s’encode comme :

Caractère Décimal Hex
G 71 47
o 111 6F
! 33 21

Ainsi, Go! devient 47 6F 21, ou \x47\x6F\x21 en forme d’échappement de chaîne C, ou 0x47, 0x6F, 0x21 comme tableau d’octets.

Options de format de sortie

Cas d’utilisation Format Exemple
Tableau d’octets en C/C++ 0xXX, 0xXX 0x47, 0x6F
Shell echo avec -e \xXX \x47\x6F
Dump hex séparé par des espaces XX XX 47 6F
Chaîne continue XXXX 476F
Encodage pour URL %XX %47%6F

Un piège courant

Hex est insensible à la casse (0x4f et 0x4F sont le même octet), mais de nombreux analyseurs s’en soucient. Si vous alimentez la sortie dans quelque chose de strict (un fichier YAML, une chaîne JSON, certains assembleurs), respectez la convention de casse du code environnant.

UTF-8 et caractères multi-octets

Pour l’entrée ASCII, chaque caractère est un octet. Pour l’entrée UTF-8, les caractères au-dessus de U+007F prennent 2, 3 ou 4 octets. L’outil émet toujours une paire hexadécimale par octet, donc caf\u00e9 (4 caractères) produit 5 octets hexadécimaux : 63 61 66 C3 A9.

Questions fréquentes

La valeur ne l’est pas — 0x4F et 0x4f sont le même octet. Mais certains outils et styles de code insistent sur une casse. La méthode .hex() de Python émet en minuscules ; de nombreuses chaînes d’outils embarquées préfèrent les majuscules.

C’est une convention de C indiquant à l’analyseur que les chiffres suivants sont hexadécimaux, pas décimaux. Sans le préfixe, 47 est soit 47 (décimal) soit 71 (hex) selon le contexte.

Probablement parce que votre source contient des caractères UTF-8 non-ASCII, qui prennent plusieurs octets. Une chaîne de 10 caractères avec des accents peut facilement produire 12-14 octets hex.

Oui — utilisez le Convertisseur Hex en ASCII. Il accepte les hex continus, les paires séparées par des espaces et les préfixes 0x.

Outils similaires