Transformez un texte en sa représentation binaire, ou faites l'inverse. Chaque caractère est converti selon son encodage UTF-8, octet par octet.
Tout ce qu'un ordinateur manipule est une suite de bits. Un texte est d'abord traduit en octets selon une table d'encodage, puis chaque octet s'écrit sur huit bits. La lettre « A » vaut 65 en UTF-8, soit 01000001 en binaire.
La conversion utilise ici UTF-8, l'encodage standard du web. Les caractères latins non accentués occupent un octet, donc huit bits. Les caractères accentués en occupent deux : « é » donne 11000011 10101001. Un emoji peut en occuper quatre. C'est pourquoi un texte français produit plus de bits qu'un texte anglais de même longueur apparente.
La conversion inverse accepte les octets séparés par des espaces ou collés, et tolère les retours à la ligne. Elle attend un multiple de huit bits : si le compte n'y est pas, l'entrée est incomplète ou mal recopiée.
Parce qu'un octet vaut huit bits, et que c'est l'unité de base de la mémoire. En UTF-8, un caractère latin simple tient sur un octet ; les caractères accentués ou les emoji en utilisent deux à quatre, donc 16 à 32 bits.
Parce qu'en UTF-8 les caractères hors de l'alphabet latin de base sont codés sur plusieurs octets. « é » en utilise deux, ce qui donne bien seize bits. C'est le prix de la compatibilité universelle d'UTF-8.
Oui. Les espaces et retours à la ligne sont ignorés ; seule compte la suite de 0 et de 1. Il faut simplement que leur nombre total soit un multiple de huit.
Principalement à l'apprentissage et au débogage : comprendre comment un texte est représenté, vérifier un encodage douteux, ou décoder un message trouvé sous forme binaire. En production, on manipule rarement du binaire textuel.