MiServe DevTools

Vos autocollants

Épinglez vos outils ici. Ils sont enregistrés dans ce navigateur.

Convertisseur texte en hexadécimal, binaire et octets

Affichez les mêmes octets en texte UTF-8, hexadécimal, binaire, décimal, octal et Base64, et modifiez n'importe quelle vue pour mettre à jour les autres.

Séparateur entre les octets
Taille des groupes en binaire

S'exécute dans votre navigateur. Rien de ce que vous collez n'est envoyé.

À propos de cet outil

Une suite d'octets, six façons de l'écrire

Un ordinateur stocke le texte sous forme d'octets, et un octet est un nombre de 0 à 255. L'hexadécimal écrit chaque octet avec deux chiffres (48), le binaire avec huit bits (01001000), l'octal avec trois chiffres (110) et le décimal comme un simple nombre (72). Ces quatre écritures désignent le même octet, qui correspond à la lettre H en ASCII et en UTF-8. Le Base64 regroupe chaque série de trois octets en quatre caractères imprimables.

Les vues de cette page affichent toujours les mêmes octets. Saisissez du contenu dans l'une d'elles et les autres sont recalculées. Si ce que vous saisissez ne peut pas être lu, ce champ est signalé et les autres gardent leur dernier contenu valide.

Les caractères ne sont pas des octets

La vue texte est encodée en UTF-8, où chaque point de code occupe de un à quatre octets. Les lettres ASCII en occupent un, é en occupe deux (c3 a9), la plupart des caractères CJK trois et la plupart des emoji quatre ou plus. C'est pourquoi le nombre d'octets et le nombre de caractères diffèrent.

Le nombre de caractères correspond au nombre de grappes de graphèmes (grapheme clusters), les unités qu'un lecteur perçoit comme un seul caractère, lorsque le navigateur fournit Intl.Segmenter. L'emoji « famille » est un seul graphème composé de plusieurs points de code reliés par des caractères ZWJ (zero-width joiner) : c'est pourquoi le nombre de points de code est affiché lui aussi.

Toutes les séquences d'octets ne sont pas de l'UTF-8 valide. Si vous saisissez des octets qui n'en sont pas, la vue texte affiche le caractère de remplacement U+FFFD à la place des octets invalides et l'outil vous avertit.

Formats d'entrée acceptés

Les octets peuvent être séparés par des espaces, des retours à la ligne, des virgules ou des tirets bas, et en hexadécimal aussi par des deux-points ou des tirets, comme dans une adresse MAC. Les préfixes 0x, \x, 0b et 0o sont acceptés : vous pouvez donc coller les valeurs d'un littéral de tableau tiré du code source, sans ses crochets. Les chiffres écrits sans séparateur sont lus à largeur fixe : deux chiffres hexadécimaux, huit bits ou trois chiffres octaux par octet.

Une virgule ou un préfixe commence toujours une nouvelle valeur : 0b1000, 0b0001 correspond donc aux deux octets 8 et 1. Du binaire écrit par groupes de quatre séparés uniquement par des espaces, comme 1000 0001, est lu huit bits à la fois et donne un seul octet.

Le style de sortie Préfixe 0x produit une liste séparée par des virgules comme 0x48, 0x65, prête à être recollée dans du code. Les vues binaire et octale utilisent 0b et 0o de la même façon, et la vue décimale écrit des nombres simples. Les octets décimaux n'ont pas de largeur fixe : ils restent donc séparés par un espace même quand le séparateur est réglé sur Aucun.

Questions

Comment convertir du texte en hexadécimal ?

Chaque caractère est d'abord encodé en octets, ici en UTF-8, puis chaque octet est écrit avec deux chiffres hexadécimaux. Le mot Hi devient 48 69. Saisissez le texte dans le premier champ et lisez la vue hexadécimale.

Pourquoi un seul caractère produit-il plusieurs octets ?

L'UTF-8 n'utilise un seul octet que pour l'ASCII. Les lettres accentuées comme é demandent deux octets, la plupart des caractères chinois, japonais et coréens trois, et la plupart des emoji quatre ou plus.

Que signifie le caractère � dans le texte ?

C'est U+FFFD, le caractère de remplacement. Il apparaît là où les octets ne sont pas de l'UTF-8 valide, par exemple quand les données sont binaires ou ont été écrites dans un autre encodage comme Latin-1 ou UTF-16.

Mon texte est-il envoyé à un serveur ?

Non. La conversion est faite par JavaScript dans l'onglet de votre navigateur. Ce que vous saisissez n'est envoyé nulle part et n'est pas conservé.

Autres outils de la catégorie Encodage