Convertisseur texte vers binaire

→
Texte → octets UTF-8 → 8 chiffres binaires par octet, séparés par des espaces

Texte vers binaire : à quoi ressemble une chaîne au niveau des octets

Ce que fait cette conversion

Elle encode le texte en octets selon UTF-8, puis écrit chaque octet sous forme de huit chiffres binaires. Il n’y a ici aucune arithmétique — un caractère est cherché dans une table puis recopié — mais le résultat est la suite réelle de 1 et de 0 qui serait stockée ou transmise pour cette chaîne.

Pourquoi UTF-8 et pas simplement l’ASCII

L’ASCII ne définit que 128 caractères, ce qui couvre confortablement l’anglais et pas du tout le reste. L’UTF-8 conserve les 128 premiers codes identiques à l’ASCII et répartit les autres sur deux, trois ou quatre octets : une chaîne anglaise produit donc exactement les octets qu’aurait donnés l’ASCII, tandis qu’un idéogramme chinois ou un emoji fonctionne malgré tout. C’est pourquoi « A » tient sur un octet et un caractère chinois sur trois.

Tableau de conversion du texte vers le binaire

De courtes chaînes avec leur séquence binaire d’octets. Les lignes multi-octets sont les plus instructives : elles montrent comment un seul caractère devient un groupe d’octets, chacun doté d’un motif de tête reconnaissable.

TexteBinaire
A01000001
Hi01001000 01101001
OK01001111 01001011
12300110001 00110010 00110011
!00100001
Go01000111 01101111

L’octet que vous n’attendiez pas

La surprise la plus fréquente en traitement de texte est une chaîne plus longue qu’elle n’en a l’air. Cinq caractères peuvent occuper cinq octets ou quinze, selon l’écriture, et toute limite exprimée en caractères sera violée par une limite exprimée en octets. Voir la séquence d’octets rend cela concret : les bits de tête de chaque octet d’un caractère multi-octets annoncent combien d’octets ce caractère occupe.

Le nombre d’octets n’est pas le nombre de caractères

Quand une colonne de base de données, une limite d’API ou un champ d’en-tête se compte en octets, comptez les octets et non les caractères. Le convertisseur montre directement la séquence d’octets : le nombre de groupes est donc le nombre d’octets, exactement la grandeur que ces limites vérifient.

Questions fréquentes

Comment le texte devient-il du binaire ?

Chaque caractère est recherché dans la table d’encodage UTF-8 et remplacé par sa ou ses valeurs d’octet, puis chaque octet est écrit sous forme de huit chiffres binaires. La lettre A correspond à l’octet 65, soit 01000001, et elle n’occupe qu’un seul octet car elle appartient à la plage ASCII d’origine.

Pourquoi un caractère chinois fait-il plus d’un octet ?

Parce que l’UTF-8 doit couvrir bien plus de 256 caractères : ceux situés au-delà des 128 premiers sont répartis sur deux, trois ou quatre octets. Un idéogramme chinois occupe en général trois octets, ce qui explique qu’il apparaisse ici comme trois groupes de huit chiffres et non un seul.

Est-ce la même chose que l’ASCII ?

Pour du texte anglais simple, oui : l’UTF-8 a été conçu pour que les 128 premiers codes soient identiques octet pour octet à l’ASCII, si bien que « Bonjour » s’encode de la même façon dans les deux. Les deux divergent dès qu’apparaît une lettre accentuée, un symbole monétaire ou une écriture non latine, là où l’ASCII n’a rien à offrir et l’UTF-8 si.

Pourquoi les octets sont-ils séparés par des espaces ?

Parce qu’une longue suite binaire est illisible et facile à mal compter, alors que des groupes de huit séparés par des espaces montrent directement les frontières d’octet. Les espaces de l’entrée sont ignorés au décodage : une séquence copiée depuis cette page peut donc être recollée dans l’autre sens sans retouche.

Gère-t-il les emoji ?

Oui. Les emoji se situent au-dessus de ce que trois octets peuvent atteindre : l’UTF-8 en encode donc la plupart sur quatre octets, et ils apparaissent ici comme quatre groupes de huit chiffres. Un seul emoji peut ainsi être plus long qu’un court mot français une fois encodé.

Copiez le code ci-dessous et collez-le sur votre site pour ajouter ce convertisseur.

<!-- Texte en Binaire -->
<iframe src="https://unitflow.net/fr/embed/text-to-binary" title="Texte en Binaire" width="100%" height="420" loading="lazy" style="border:0;max-width:100%;display:block"></iframe>
<p><a href="https://unitflow.net/fr/text-to-binary" target="_blank" rel="noopener">Propulsé par UnitFlow</a></p>