Comment traduire du binaire en texte
- Collez le binaire dans Entrée · Binaire. Les octets peuvent être séparés par des espaces, des sauts de ligne, des virgules, des points-virgules ou
|, ou pas séparés du tout. - Le texte apparaît dans Sortie · Texte au fil de la saisie.
- Si vous voyez
�, les bits ne forment pas de l’UTF-8 valide. Essayez un autre Jeu de caractères sous la sortie, comme ISO-8859-1. - Copier la sortie copie le texte. Texte → Binaire au-dessus de l’outil inverse le sens, tout comme Texte en binaire.
Comment lire du binaire à la main
Chaque groupe de 8 bits est un octet. Donnez une valeur à chaque position, de 128 à gauche jusqu’à 1 à droite, et additionnez les positions qui contiennent un 1 :
| Bit | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 |
|---|---|---|---|---|---|---|---|---|
| Valeur | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
01001000 vaut 64 + 8 = 72, et le caractère 72 en ASCII est H. 01101001 vaut 64 + 32 + 8 + 1 = 105, soit i.
Pour les lettres, le calcul est rarement nécessaire, car l’ASCII suit un motif. Les trois premiers bits indiquent le type de caractère, et pour les lettres, les cinq derniers bits donnent la position dans l’alphabet :
| Commence par | Signification | Exemples |
|---|---|---|
010 | lettre majuscule | 01000001 A, 01001000 H, 01011010 Z |
011 | lettre minuscule | 01100001 a, 01101001 i, 01111010 z |
0011 | chiffre | 00110000 0, 00111001 9 |
00100000 | espace |
Ainsi, 01000011 se termine par 00011, soit 3, la troisième lettre : C. Majuscules et minuscules ne diffèrent que d’un seul bit, le troisième en partant de la gauche.
Formats acceptés par le traducteur
| Entrée | Lue comme |
|---|---|
01001000 01101001 | groupes de 8 bits séparés par des espaces ou des sauts de ligne |
01001000,01101001 ou 01001000;01101001 | virgules, points-virgules ou | comme séparateurs |
0b01001000 0b01101001 | les préfixes 0b sont ignorés |
1001000 1101001 | groupes de 7 bits, comme dans les exercices classiques sur l’ASCII 7 bits |
0100100001101001 | une seule chaîne de bits, découpée en morceaux de 8 bits |
Tous se décodent en Hi. Un groupe de moins de 8 bits est lu comme un octet, ce qui explique que la version 7 bits fonctionne. Si un groupe dépasse 8 bits, l’outil joint tous les bits en une chaîne et la découpe plutôt en octets. Tout ce qui n’est ni 0, ni 1, ni un séparateur arrête la conversion en indiquant la position du caractère fautif ; le bouton Afficher à côté du message le sélectionne dans l’entrée.
Du binaire qui n’est pas de l’ASCII simple
Les octets ASCII commencent toujours par 0. Un octet qui commence par 1 appartient à un caractère UTF-8 multi-octets, et ses bits de tête indiquent la longueur de la séquence :
| Caractère | Bits UTF-8 | Motif |
|---|---|---|
é | 11000011 10101001 | 110 commence un caractère de 2 octets, 10 le prolonge |
€ | 11100010 10000010 10101100 | 1110 commence un caractère de 3 octets |
👋 | 11110000 10011111 10010001 10001011 | 11110 commence un caractère de 4 octets |
Si vous les décodez octet par octet, vous obtenez du charabia comme é. Gardez les octets ensemble et laissez Jeu de caractères sur UTF-8.
Du binaire au Base64
Binaire, hex et Base64 sont autant de façons d’écrire les mêmes octets. Le binaire utilise 8 caractères par octet, l’hex 2, le Base64 environ 1,33 : c’est donc le Base64 que les systèmes utilisent pour faire passer des données binaires par du texte, comme les pièces jointes d’e-mail, les champs JSON ou les data URI. Pour transformer directement vos bits en Base64, utilisez Binaire en Base64. Pour voir les bits d’une chaîne Base64, utilisez Base64 en binaire ; comment fonctionne le Base64 montre comment il regroupe ces bits 6 par 6.
Binaire en texte dans le code
bits = "01001000 01101001"
bytes(int(b, 2) for b in bits.split()).decode("utf-8") # 'Hi'
const bits = "01001000 01101001";
new TextDecoder().decode(Uint8Array.from(bits.split(" "), b => parseInt(b, 2))); // 'Hi'
Les deux supposent que les groupes sont séparés par des espaces simples ; l’outil ci-dessus est plus tolérant sur le format d’entrée.
FAQ
Que signifie 01001001 00100000 01101100 01101111 01110110 01100101 00100000 01111001 01101111 01110101 ?
I love you (« je t’aime » en anglais). Chaque groupe de 8 bits est un caractère ASCII, et 00100000 est l’espace entre les mots.
Combien de chiffres binaires faut-il pour une lettre ?
Huit, soit un octet, pour toute lettre ou tout chiffre d’un texte ASCII simple. Les lettres accentuées prennent 16 bits en UTF-8, la plupart des autres écritures 16 ou 24, et les emoji 32.
Puis-je traduire du binaire sans espaces ?
Oui. Une chaîne continue comme 0100100001101001 est découpée en morceaux de 8 bits en partant de la gauche. Sa longueur doit être un multiple de 8, sinon l’outil indique combien de bits il a trouvés.
Pourquoi mon binaire se traduit-il en charabia ?
En général, il manque un bit ou il y en a un de trop dans une chaîne sans espaces, ce qui décale tous les octets suivants. Ajoutez si possible des espaces entre les octets : un groupe erroné n’abîme alors qu’un caractère et le reste se lit correctement.