Convertisseur binaire vers texte, gratuit
Convertissez instantanément entre binaire et texte.
Une brève histoire de la représentation binaire
Le binaire est la langue fondamentale des ordinateurs, chaque caractère, chaque nombre, chaque instruction est en dernier ressort représenté comme une suite de 0 et de 1, mais l'idée précède l'ordinateur de 250 ans. Gottfried Wilhelm Leibniz a rédigé l'« Explication de l'Arithmétique Binaire » (soumise à l'Académie des Sciences de Paris en 1703, parue dans les Mémoires en 1705), première description formelle occidentale de l'arithmétique binaire. Leibniz s'est en partie inspiré des trigrammes et hexagrammes du Yi-King chinois, qui codent chaque motif divinatoire comme une pile de six lignes pleines ou brisées (essentiellement du binaire 6 bits). L'An Investigation of the Laws of Thought de George Boole (1854) a donné au binaire ses fondations algébriques (ET, OU, NON, ou-exclusif) qui sous-tendent encore tout circuit numérique. La thèse de master au MIT de Claude Shannon, « A Symbolic Analysis of Relay and Switching Circuits » (soumise en août 1937), a fait le saut reliant l'algèbre de Boole à l'électrotechnique : tout circuit à relais et interrupteurs correspond à une expression booléenne, et réciproquement. La thèse de Shannon est largement considérée comme la thèse de master la plus influente du XXe siècle. Les premiers ordinateurs électroniques mêlaient décimal (l'ENIAC, 1945, utilisait des compteurs décimaux internes) et binaire (la Manchester Baby, juin 1948, premier ordinateur binaire à programme enregistré ; l'EDSAC, mai 1949, premier opérationnel) ; au début des années 1950, le binaire était le défaut universel.
L'octet de 8 bits est venu plus tard. Le mot « byte » a été forgé par Werner Buchholz chez IBM en juin 1956 lors de la conception de l'IBM Stretch, à l'origine avec diverses largeurs (6, 8, 9 bits). L'octet 8 bits a été standardisé par IBM avec l'annonce du System/360 le 7 avril 1964 ; à partir de là, « un octet » signifiait 8 bits dans toute l'industrie. (La littérature plus ancienne précise parfois « octet » pour lever toute ambiguïté, c'est pour cela que les RFC de l'IETF préfèrent encore le mot « octet ».)
Encodages de caractères, transformer les lettres en bits
Le binaire est la couche du fond ; la couche au-dessus est l'encodage de caractères qui mappe lettres et symboles à des motifs de bits précis. Le code Baudot (Émile Baudot, inventé en 1870, breveté en 1874) fut le premier encodage textuel binaire largement utilisé, 5 bits par caractère, employé par les téléimprimeurs et les réseaux Telex pendant plus d'un siècle. 5 bits ne donnent que 32 codes, ce qui contraignait Baudot à utiliser des caractères de bascule (un pour les lettres, un pour les chiffres et la ponctuation) afin d'élargir l'ensemble adressable. L'ASCII (American Standard Code for Information Interchange) a été publié sous le nom ASA X3.4-1963 le 17 juin 1963 par l'American Standards Association (l'organisme a été renommé ANSI en 1969, ce qui explique pourquoi la même norme apparaît plus tard sous le nom ANSI X3.4-1986). L'ASCII utilise 7 bits pour coder 128 caractères : codes de contrôle (0-31), ponctuation et chiffres (32-64), majuscules (65-90), ponctuation supplémentaire (91-96), minuscules (97-122), ponctuation finale (123-127). La largeur 7 bits a été choisie pour la compatibilité avec le matériel télégraphique sur ruban perforé. L'ASCII est devenu l'encodage anglophone dominant pendant les deux décennies suivantes ; la révision canonique ANSI X3.4-1986 est essentiellement identique et c'est ce que les gens veulent dire aujourd'hui par « ASCII ».
La famille ASCII étendu / ISO 8859 (ISO 8859-1 publié en 1987, le reste durant les années 1990) a rempli les 128 caractères supérieurs d'un octet 8 bits avec des alphabets régionaux : Latin-1 pour les langues d'Europe occidentale, Latin-2 pour l'Europe orientale, Latin-5 pour le turc, Cyrillique-1, Grec-1, Arabe-1, Hébreu-1, Thaï-1. Cela a produit quinze encodages 8 bits incompatibles entre eux : 0xE9 signifiait é en Latin-1, mais un autre caractère en Cyrillique-1, indéfini en ASCII strict, et encore un autre en Mac Roman. Ce décalage a produit la fameuse condition mojibake (japonais : 文字化け, « transformation de caractères », texte d'apparence corrompue dû à un mauvais encodage).
Le projet Unicode est né en réponse. Le Consortium Unicode a été incorporé le 3 janvier 1991 ; Unicode 1.0 a été publié en octobre 1991 avec environ 7 000 caractères. Avec Unicode 16.0 (publié le 10 septembre 2024) la norme couvre plus de 154 000 caractères répartis sur 168 écritures. Unicode est un système de points de code, un identifiant numérique unique pour chaque caractère, mais ce n'est pas directement un encodage binaire. Plusieurs encodages d'Unicode existent : UTF-32 (4 octets par caractère, taille fixe), UTF-16 (2 ou 4 octets, variable) et le dominant pour le web moderne : UTF-8.
UTF-8 a été conçu par Ken Thompson avec Rob Pike sur un set de table dans un diner du New Jersey vers le 2 septembre 1992 ; Plan 9 tournait dessus dès le 8 septembre. UTF-8 est à longueur variable : 1 octet pour les caractères ASCII (U+0000 à U+007F), 2 octets pour U+0080 à U+07FF, 3 octets pour U+0800 à U+FFFF, 4 octets pour U+10000 à U+10FFFF. Les bits de poids fort de chaque octet indiquent sa position dans une séquence multi-octets (0xxxxxxx = ASCII 1 octet, 110xxxxx = premier octet d'une séquence 2 octets, 10xxxxxx = octet de continuation, etc.), ce qui rend UTF-8 auto-synchronisant : on peut commencer le décodage depuis n'importe quelle position et retrouver la frontière du caractère suivant en regardant les quelques octets qui suivent. UTF-8 est aussi rétrocompatible avec l'ASCII : tout fichier ASCII est un fichier UTF-8 valide. En 2026, W3Techs indique qu'environ 98,9 % de l'ensemble des pages web déclarent UTF-8 comme encodage, c'est de très loin l'encodage textuel mondial.
Exemples binaires en ASCII
Quelques caractères ASCII représentatifs sous leur forme binaire 8 bits (avec le 0 de tête puisque l'ASCII est techniquement 7 bits, mais aligné sur l'octet) :
- 'A' (A majuscule) = décimal 65 =
01000001 - 'a' (a minuscule) = décimal 97 =
01100001(à noter : diffère de 'A' par exactement un bit, le bit 5, ce qui explique pourquoi l'astuce de conversion de casse par XOR avec 0x20 fonctionne) - '0' (chiffre zéro) = décimal 48 =
00110000 - '9' (chiffre neuf) = décimal 57 =
00111001 - ' ' (espace) = décimal 32 =
00100000 - '\n' (nouvelle ligne / line feed) = décimal 10 =
00001010 - '!' (point d'exclamation) = décimal 33 =
00100001
« Hello » en ASCII devient 01001000 01100101 01101100 01101100 01101111, cinq octets, un par caractère. En UTF-8 c'est identique car chaque caractère ASCII est aussi un caractère UTF-8 valide d'un octet. « Café » en UTF-8 donne 01000011 01100001 01100110 11000011 10101001, quatre caractères mais cinq octets, parce que é (U+00E9) demande deux octets (11000011 10101001) en UTF-8.
L'encodage multi-octets d'UTF-8, mécaniquement
Les règles d'encodage d'UTF-8 utilisent des motifs de bits de poids fort précis pour indiquer la position de l'octet. 1 octet (plage ASCII U+0000 à U+007F) : 0xxxxxxx, le bit de poids fort est 0, les 7 bits restants sont le point de code. 2 octets (U+0080 à U+07FF) : 110xxxxx 10xxxxxx, le premier octet commence par 110, l'octet de continuation par 10 ; les bits x se combinent pour donner le point de code 11 bits. 3 octets (U+0800 à U+FFFF) : 1110xxxx 10xxxxxx 10xxxxxx, le premier octet commence par 1110, deux octets de continuation ; point de code 16 bits. 4 octets (U+10000 à U+10FFFF) : 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx, couvre tout l'espace Unicode, emoji compris. La lettre russe п (U+043F) demande 2 octets en UTF-8 (11010000 10111111) ; le caractère chinois 中 (U+4E2D) demande 3 octets ; l'emoji 🎉 (U+1F389) demande 4 octets. Encoder du texte en UTF-8 binaire produit toujours une séquence valide ; décoder exige de vérifier que les octets de continuation portent bien le préfixe 10 (sinon l'entrée est de l'UTF-8 invalide et le décodeur remplace typiquement la séquence fautive par le caractère de remplacement U+FFFD).
Conventions de notation
Le texte binaire apparaît dans la nature sous plusieurs conventions, toutes désignant les mêmes octets sous-jacents. Octets séparés par des espaces : 01001000 01100101 01101100 01101100 01101111, la forme la plus lisible, courante dans tutoriels et énigmes. Continu sans espaces : 0100100001100101011011000110110001101111, plus compact, exige du lecteur qu'il sache que les frontières d'octets sont tous les 8 chiffres. Séparés par virgules : 01001000,01100101,01101100,01101100,01101111, courant dans des données de test encodées en CSV. Paires hexadécimales (Base16) : 48 65 6c 6c 6f, mêmes octets affichés en deux chiffres hex au lieu de huit binaires ; bien plus compact et courant dans les outils côté programmeur (hexdump, éditeurs hex). Décimal : 72 101 108 108 111, la valeur entière sous-jacente de chaque octet. Cet outil accepte en entrée du binaire séparé par espaces, par virgules ou continu pour la conversion binaire vers texte ; il produit du binaire 8 bits séparé par espaces pour la conversion texte vers binaire.
Usages courants
- Enseignement de l'informatique. La représentation binaire est fondamentale en CS101, les étudiants apprennent ce qu'est un « octet » en encodant leur prénom puis en le relisant.
- Énigmes à messages cachés. Escape rooms, coordonnées de géocaching, indices d'ARG (alternate reality game), épreuves capture-the-flag, tous utilisent du texte encodé en binaire comme chiffrement courant parce qu'il est instantanément reconnaissable comme « binaire » mais exige du lecteur qu'il connaisse la conversion.
- Stéganographie. Cacher des messages à la vue de tous en les encodant en binaire qui ressemble à du bruit, une chaîne binaire dans les bits de poids faible d'une image, ou cachée dans les espaces de fin de ligne d'un courriel.
- Déboguage de problèmes d'encodage. Quand « Café » s'affiche « Café » ou « € » au lieu de « € », les octets racontent ce qui s'est passé, une séquence UTF-8 a été interprétée en Latin-1 ou inversement. Regarder la représentation binaire réelle rend l'incohérence d'encodage évidente.
- Analyse forensique. Récupérer du texte depuis des fichiers corrompus, des sauvegardes partielles ou un stockage endommagé passe souvent par regarder les octets bruts et les décoder à la main.
- Apprentissage de la programmation bas niveau. Opérations bit à bit, décalages, construction de masques, tout devient intuitif quand on voit la représentation binaire des valeurs.
- Art et tatouages binaires. « Je t'aime » en binaire en cadeau de mariage, un T-shirt façon XKCD, un tatouage de nombre binaire. L'esthétique des purs 0 et 1 a une petite mais réelle sous-culture.
Pièges d'encodage à connaître
Mojibake par incompatibilité d'encodage. La même séquence d'octets, interprétée selon des encodages différents, produit du texte différent (et généralement déformé). 0xE9 est é en Latin-1 mais le début d'une séquence UTF-8 invalide (tout octet ≥ 0x80 doit être soit un octet de continuation soit le début d'une séquence multi-octets). Quand un fichier UTF-8 est ouvert en Latin-1, chaque caractère UTF-8 multi-octets devient 2 à 4 caractères Latin-1 déformés, le mode d'échec canonique « Café » → « Café ». BOM (marque d'ordre des octets). Une séquence de 2 ou 3 octets en tout début de fichier Unicode qui indique l'ordre des octets : UTF-16 little-endian commence par FF FE, UTF-16 big-endian par FE FF, le BOM UTF-8 (rarement utilisé, parfois appelé « UTF-8 with BOM ») par EF BB BF. Le BOM aide à distinguer les encodages Unicode mais n'est obligatoire que pour UTF-16 et UTF-32 ; l'IETF déconseille de l'ajouter aux fichiers UTF-8 parce qu'il casse les outils qui s'attendent à voir le contenu normal en début de fichier. L'endianness compte pour UTF-16 et UTF-32 (qui ordonnent les octets d'une unité de code multi-octets) mais pas pour UTF-8 (encodé en flux d'octets, l'ordre est fixé par la spec, pas par le matériel).
Table de référence ASCII
Vie privée : pourquoi navigateur uniquement compte même ici
Les conversions binaires semblent anodines, mais le texte converti est exactement le genre de chose où la vie privée compte : énigmes à messages cachés entre amis, phrases confidentielles encodées pour des expériences de stéganographie, chaînes sensibles déboguées pour des problèmes d'encodage, ou simplement tout ce où le lecteur attend que le binaire soit une représentation privée. Cet outil tourne entièrement dans votre navigateur via JavaScript, vérifiez dans l'onglet Network des DevTools pendant la conversion, ou mettez la page hors ligne (mode avion) après son chargement et le convertisseur fonctionne toujours. Sûr pour des indices d'énigmes, des chaînes sensibles à déboguer ou tout texte que vous ne voudriez pas voir copié sur le disque dur d'un inconnu.
Questions fréquentes
Quel format doit avoir l'entrée binaire ?
Saisissez des valeurs binaires 8 bits séparées par des espaces (par ex. « 01001000 01101001 »). L'outil accepte aussi des valeurs sans espace si chaque octet fait exactement 8 chiffres, ou séparées par des virgules.
Prend-il en charge les emoji ou les caractères non latins ?
Le sens texte→binaire prend en charge tout caractère Unicode · chaque caractère est développé dans sa représentation binaire complète en codage UTF-8. Pour binaire→texte, chaque groupe de 8 bits est décodé comme un octet ASCII (0-255).
Pourquoi 8 chiffres par caractère ?
Chaque groupe de 8 chiffres binaires (bits) représente un octet. L'ASCII utilise 7 bits (valeurs 0-127) mais s'affiche couramment en 8 bits avec un 0 de tête. Un octet peut représenter 256 valeurs différentes (0-255), ce qui couvre tous les caractères clavier standards.
D'où vient réellement le binaire ?
L'idée mathématique précède l'ordinateur de 250 ans. Gottfried Wilhelm Leibniz a rédigé la première description formelle occidentale de l'arithmétique binaire en 1703 (« Explication de l'Arithmétique Binaire »), inspirée en partie par les hexagrammes du Yi-King chinois. Les Laws of Thought de George Boole (1854) ont donné au binaire ses fondations algébriques (ET, OU, NON). La thèse de Claude Shannon au MIT (1937) a relié l'algèbre de Boole aux circuits à relais électriques, le moment fondateur de l'électronique numérique. Les premiers ordinateurs binaires électroniques sont arrivés à la fin des années 1940 (Manchester Baby juin 1948, EDSAC mai 1949).
Quelle est la différence entre l'ASCII et l'UTF-8 ?
L'ASCII (1963) est un encodage 7 bits à largeur fixe couvrant 128 caractères : alphabet anglais de base, chiffres, ponctuation courante, codes de contrôle. UTF-8 (Thompson + Pike, 1992) est un encodage à longueur variable de tout le standard Unicode (~155 000 caractères depuis Unicode 16.0 en septembre 2024). UTF-8 est rétrocompatible avec l'ASCII : toute séquence d'octets ASCII valide est aussi de l'UTF-8 valide. La différence compte au-delà de la plage ASCII, é, 中, 🎉 demandent tous plusieurs octets en UTF-8. En 2026, environ 98,9 % des pages web déclarent UTF-8 comme encodage (W3Techs).
Mes conversions sont-elles envoyées quelque part ?
Non. La conversion tourne entièrement dans votre navigateur via JavaScript. Le texte et le binaire que vous collez ne traversent jamais le réseau, vérifiez dans l'onglet Network des DevTools pendant que vous cliquez sur Convertir, ou mettez la page hors ligne (mode avion) après son chargement et l'outil fonctionne toujours.