Ce qu’est le code binaire
Les ordinateurs stockent tout sous forme de bits, de minuscules interrupteurs éteints (0) ou allumés (1). Huit bits forment un octet, et un octet peut contenir un nombre de 0 à 255. Le texte est stocké en donnant un numéro à chaque caractère et en enregistrant ce numéro en binaire.
Pour un texte sans accents, ces numéros viennent de l’ASCII. La lettre majuscule H vaut 72, soit 01001000 en binaire. La lettre minuscule i vaut 105, soit 01101001. Mettez-les ensemble et vous obtenez Hi.
Comment utiliser le traducteur binaire
Texte vers binaire. Tapez dans la zone Texte. Le binaire apparaît dans la zone Binaire, un groupe de 8 chiffres par octet. Appuyez sur Copier pour le récupérer.
Binaire vers texte. Collez du binaire dans la zone Binaire. Le texte apparaît à gauche. Le traducteur accepte :
- des groupes séparés par des espaces, des virgules ou des retours à la ligne, comme
01001000 01101001 - une seule longue suite, à condition que sa longueur soit un multiple de 8
- des groupes courts sans zéros de tête, comme
1001000 1101001
En cas de problème, le message sous les zones indique lequel, par exemple qu’un groupe dépasse 8 bits ou contient un chiffre autre que 0 ou 1.
Espace entre les octets active ou désactive les écarts dans le résultat. Effacer vide les deux zones.
Nombre en binaire. Le second panneau est un convertisseur de bases. Tapez un nombre entier dans Nombre décimal, Binaire, Hexadécimal ou Octal et les trois autres se remplissent. Les nombres négatifs fonctionnent, tout comme des nombres bien plus grands que ce qu’affiche une calculatrice, car l’outil utilise des entiers en précision arbitraire. Chaque zone a son propre bouton Copier.
Comment fonctionne la traduction
Le texte est d’abord encodé en octets UTF-8. Chaque octet est ensuite écrit comme un nombre binaire de 8 chiffres, complété par des zéros à gauche. Pour lire du binaire, l’outil fait le chemin inverse : il découpe les chiffres en octets et décode les octets en UTF-8.
La conversion d’un nombre repose sur la valeur de position. En binaire, chaque position vaut le double de celle de droite : 1, 2, 4, 8, 16 et ainsi de suite. Le nombre 42 vaut 32 + 8 + 2, donc il s’écrit 101010 en binaire.
Exemples : texte en binaire
| Texte | Binaire |
|---|---|
A |
01000001 |
a |
01100001 |
0 |
00110000 |
| espace | 00100000 |
Hi |
01001000 01101001 |
Salut |
01010011 01100001 01101100 01110101 01110100 |
é |
11000011 10101001 |
€ |
11100010 10000010 10101100 |
Remarquez que le chiffre 0 n’est pas 00000000. Le caractère « 0 » a son propre code, 48. Et chaque lettre accentuée du français (é, è, à, ç…) occupe deux octets en UTF-8 : un texte français en binaire est donc un peu plus long qu’un texte anglais de même longueur.
Exemples : nombres en binaire
| Décimal | Binaire | Hexa | Octal |
|---|---|---|---|
| 2 | 10 |
2 |
2 |
| 10 | 1010 |
A |
12 |
| 42 | 101010 |
2A |
52 |
| 100 | 1100100 |
64 |
144 |
| 255 | 11111111 |
FF |
377 |
| 1024 | 10000000000 |
400 |
2000 |
| 2026 | 11111101010 |
7EA |
3752 |
Conseils et limites
- Utilisez des espaces quand c’est possible. Un binaire espacé est plus facile à vérifier, et un chiffre manquant dans un groupe ne décale pas toutes les lettres suivantes.
- Le binaire d’un texte et celui d’un nombre sont deux choses différentes. Le texte « 42 » devient deux octets,
00110100 00110010. Le nombre 42 s’écrit101010. Utilisez le panneau du haut pour le texte et celui du bas pour les nombres. - Les nombres négatifs sont affichés avec un signe moins, comme
-1010pour -10, et non en complément à deux. - Le binaire n’a rien de secret. C’est juste une autre façon d’écrire les mêmes données.
Autres façons de convertir en binaire
Excel et Google Sheets. =DECBIN(42) dans Excel en français (=DEC2BIN(42) en anglais et dans Google Sheets) renvoie 101010, et =BINDEC("101010") (=BIN2DEC("101010")) renvoie 42. Dans Excel, cette fonction ne fonctionne que de -512 à 511. Pour des nombres plus grands, utilisez =BASE(2026;2).
JavaScript. (42).toString(2) donne 101010, et parseInt('101010', 2) donne 42.
Python. format(42, '08b') donne 00101010. Pour un texte, ' '.join(format(b, '08b') for b in 'Hi'.encode()) donne 01001000 01101001.
Outils associés
Pour voir les mêmes octets sous une forme plus courte, utilisez le convertisseur hexadécimal en texte. L’outil d’encodage UTF-8 explique pourquoi certains caractères occupent plus d’un octet. Pour un autre code à deux symboles, essayez le traducteur de code morse.