100 % local — vos données ne quittent jamais votre navigateur

Texte en hexadécimal — voyez le caractère invisible

Affichez un texte en octets UTF-8 hexadécimaux, séparés par des espaces. Le nombre d’octets surprend souvent, et l’octet en trop est souvent la réponse.

Instantané Privé Zéro cookie

Entrée Text

Sortie Hex

Ce que fait cet outil

Le texte est encodé en UTF-8, et chaque octet obtenu est écrit en hexadécimal minuscule, séparé par une espace.

La séparation est délibérée : une suite de chiffres se lit mal et se compte mal, et regarder de l’hexadécimal sert précisément à compter.

Des octets, pas des caractères

C’est la partie qui surprend, et c’est ce qui rend l’outil utile :

hi      →  68 69              2 octets,  2 caractères
café    →  63 61 66 c3 a9     5 octets,  4 caractères
😀      →  f0 9f 98 80        4 octets,  1 caractère

L’UTF-8 est à largeur variable. Une lettre ASCII coûte un octet, une lettre latine accentuée deux, la plupart des caractères CJK trois, un emoji quatre. Si une colonne de base de données, un champ de protocole ou un format de fichier vous limite à n octets, c’est ce compte-là qui compte — pas celui qu’affiche votre éditeur.

Ce que cela rend visible

Tout ce qui ne s’affiche pas. Un saut de ligne final vaut 0a. Une fin de ligne Windows vaut 0d 0a, deux octets là où vous en attendiez un. Une espace insécable, identique à l’œil, vaut c2 a0. Une marque d’ordre des octets en tête de fichier vaut ef bb bf.

Chacun de ces éléments a déjà cassé une comparaison, un analyseur ou un import quelque part, et aucun n’est visible dans un champ texte.

Relire de l’hexadécimal

Le sens inverse accepte les espaces et les majuscules : vous pouvez coller la sortie d’un vidage hexadécimal, d’un débogueur ou d’un journal sans la nettoyer.

Un nombre impair de chiffres lève une erreur plutôt qu’une supposition : un octet en fait deux, et rien ne permet de savoir quel bout manque.

Confidentiel par conception

Tout s’exécute localement dans votre navigateur en JavaScript. Vos données ne sont jamais envoyées sur un serveur, ce qui rend l’outil sûr pour des contenus sensibles, et il fonctionne hors ligne.

Questions fréquentes

Pourquoi mon mot de 4 lettres affiche-t-il 5 octets ?
Parce que l’UTF-8 est à largeur variable. Une lettre ASCII prend un octet, une lettre accentuée deux, la plupart des caractères CJK trois, un emoji quatre. L’outil montre des octets, d’où l’écart avec le nombre de caractères.
Puis-je coller de l’hexadécimal avec des espaces ou des majuscules ?
Oui, les deux. Les espaces sont ignorés et `4A` se lit comme `4a`. Ce qui est refusé, c’est un nombre impair de chiffres : un octet en fait deux, et deviner lequel manque serait pire que de le dire.
En quoi est-ce utile pour déboguer ?
Parce que cela rend visible ce qui ne l’est pas. Un saut de ligne final, une espace insécable, une marque d’ordre des octets, une fin de ligne Windows : rien de tout cela n’apparaît dans un champ texte, et tout apparaît ici.

Convertisseurs associés