Convertisseur texte-binaire
Convertissez du texte en binaire (octets UTF-8 sur 8 bits) et inversement — les deux champs sont en direct et bidirectionnels.
1 121 vues
Comment ça fonctionne
Le texte n'est pas converti en binaire caractère par caractère — il est converti octet par octet, après avoir d'abord été encodé en UTF-8. Cette distinction compte, car un seul caractère n'occupe pas toujours un seul octet. Tapez un caractère ASCII (les lettres anglaises simples, les chiffres et la ponctuation, points de code 0-127) et il tient exactement dans un octet, donc A devient un seul groupe de 8 bits : 01000001. La plupart des caractères non anglais ont besoin de plus de place. Le İ majuscule pointé turc (Unicode U+0130) est encodé en UTF-8 sur deux octets, pas un seul : 11000100 10110000 — deux groupes de 8 bits distincts. Un émoji comme 😀 (U+1F600) nécessite quatre octets : 11110000 10011111 10011000 10000000. Cet outil exécute exactement ce pipeline — texte → octets UTF-8 → un groupe binaire de 8 bits par octet, séparés par des espaces — donc un mot contenant « İ », « ğ » ou un émoji produit visiblement plus de groupes qu'une hypothèse naïve « un caractère égale un octet » ne le prédirait.
Ces octets supplémentaires ne sont pas arbitraires ; ils suivent un motif de bits fixe que tout décodeur conscient de l'UTF-8 (y compris cet outil, exécutant la conversion en sens inverse) peut reconnaître. Le premier octet d'une séquence multi-octets commence par une suite de bits à 1 suivie d'un 0 qui annonce combien d'octets composent le caractère — 110xxxxx signifie « 2 octets au total », 1110xxxx signifie « 3 octets », 11110xxx signifie « 4 octets » — tandis que chaque octet qui le suit, un octet de continuation, commence toujours par le préfixe fixe 10xxxxxx. En lisant 11000100 10110000 pour İ : le décodeur voit 110 (un octet de tête sur 2 octets) suivi d'un octet commençant par 10 (exactement un octet de continuation), confirme que la séquence est complète, et reconstruit l'unique point de code Unicode U+0130 à partir des bits restants des deux octets combinés. C'est aussi pourquoi un octet perdu ou corrompu au milieu d'un caractère multi-octets casse le décodage — le préfixe de l'octet de continuation doit s'aligner, sinon le caractère ne peut pas être reconstitué.
Ce que vous devez savoir
Convertir le binaire en texte inverse le même pipeline : les groupes de 8 bits sont lus dans l'ordre, regroupés en séquences d'octets UTF-8 complètes en vérifiant le préfixe de chaque octet de tête pour savoir combien d'octets de continuation lui appartiennent, puis décodés en caractères — donc une chaîne binaire correctement générée redonne toujours exactement le texte d'origine, caractères turcs et émojis compris, et non une approximation. Cela ne fonctionne que parce que le binaire ici est spécifiquement de l'UTF-8 : un binaire produit par un encodage différent (UTF-16, ou un encodage turc sur un seul octet comme ISO-8859-9/Windows-1254) utilise des nombres d'octets et des motifs de bits différents pour les mêmes caractères, et le coller ici décodera un texte erroné ou échouera carrément — ce n'est pas un outil binaire-texte universel, c'est un outil UTF-8. Comme toute la conversion s'exécute côté client dans le navigateur, aucun texte ni binaire que vous saisissez n'est jamais envoyé où que ce soit.
Questions fréquentes
Pourquoi un caractère produit-il parfois plus de 8 bits ?
Le texte est d'abord encodé en UTF-8. Les caractères ASCII prennent 1 octet (8 bits), mais les lettres accentuées, les caractères turcs et les émojis peuvent prendre 2 à 4 octets — chaque octet s'affiche comme son propre groupe de 8 bits, donc un seul caractère peut légitimement s'étendre sur 16, 24 ou 32 bits.
Pourquoi les caractères turcs comme İ, ğ et ş nécessitent-ils deux groupes binaires au lieu d'un seul ?
Ils sortent de la plage ASCII 0-127, donc l'UTF-8 les encode en séquences de 2 octets : un octet de tête commençant par 110xxxxx suivi d'un octet de continuation commençant par 10xxxxxx. İ, par exemple, s'écrit 11000100 10110000 — deux groupes représentant un seul caractère.
Puis-je convertir des émojis, et de combien de bits ont-ils besoin ?
Oui. La plupart des émojis se situent assez haut dans l'Unicode pour nécessiter la forme UTF-8 complète sur 4 octets : un octet de tête commençant par 11110xxx suivi de trois octets de continuation commençant chacun par 10xxxxxx — soit 32 bits au total pour un seul caractère émoji.
Que se passe-t-il si mon entrée binaire contient des groupes invalides ?
Les groupes doivent comporter exactement 8 caractères de 0 et de 1, séparés par des espaces. Les groupes invalides ou incomplets — et les octets de continuation qui ne correspondent à aucun octet de tête valide — sont ignorés plutôt que de faire échouer la conversion.
Cet outil fonctionne-t-il avec des encodages autres que l'UTF-8 ?
Non, et il ne prétend pas le faire. L'UTF-16 et les encodages hérités sur un seul octet (comme ISO-8859-9 pour le turc) attribuent des nombres d'octets et des motifs de bits différents aux mêmes caractères. Le binaire issu de ces encodages ne se décodera pas correctement ici — cet outil est spécifiquement un convertisseur texte-binaire UTF-8.
Outils similaires
Signaler un problème
Convertisseur texte-binaire
Commentaires
Pas encore de commentaires — soyez le premier à en écrire un !