Convertisseur octal en texte
Transformez les codes octals en caractères lisibles.
L’octal était la notation standard pour encoder des caractères spéciaux en C et Unix jusqu’aux années 1990. Si vous lisez du code C écrit avant 2000, vous verrez des chaînes comme "\101\102\103" (qui signifie ABC). Aujourd’hui, c’est un écho du passé, mais comprendre comment cela fonctionne reste utile pour déboguer du code hérité ou lire des fichiers log encodés en octal.
Types de codes octals courants
- 101 — Code de la lettre A.
- 141 — Code de la lettre a.
- 040 — Code de l’espace.
- 012 — Code de la nouvelle ligne.
- 000 — Caractère nul (fin de chaîne).
Décoder l’octal en texte à la main
- Écrivez votre chaîne octale. Prenons 110 101 154.
- Convertissez en décimal. 110 octal = 72 décimal. 101 octal = 65 décimal. 154 octal = 108 décimal.
- Cherchez le caractère ASCII. 72 = H, 65 = A, 108 = l.
- Écrivez le résultat. « Hal ».
Où vous rencontrez encore l’octal en texte
Les vieux programmes C utilisent l’octal pour les échappements de caractères. Une chaîne C comme "\101\102\103" encode A, B, C (les codes octals 101, 102, 103). Vous les croisez en lisant du code hérité ou en décodant des dumps de mémoire anciens. La commande Unix od (octal dump) affiche par défaut les fichiers en octal, d’où son nom.
Cette notation était précise parce que l’octal aligne bien avec le binaire. Trois chiffres octals couvrent exactement un octet (0-377 octal = 0-255 décimal). C’était plus pratique qu’énumérer huit chiffres binaires.
Questions sur octal vers texte
Pourquoi utiliser l’octal pour les codes de caractères au lieu du décimal ?
L’octal s’aligne avec le binaire (3 bits par chiffre). En utilisant 3 chiffres octals, vous pouviez encoder n’importe quel octet de 0 à 255. C’était plus compact en notation que d’écrire trois chiffres décimaux.
Est-ce que \101 dans du code C donne vraiment « A » ?
Oui. 101 en octal = 65 en décimal = la lettre A en ASCII. Les vieux livres d’informatique sont pleins de ces échappements octals.
Est-ce que la chaîne "\000" est un caractère nul ?
Oui. 000 en octal = 0 en décimal = caractère nul (fin de chaîne en C). C’était une notation courante pour les terminaisons de chaîne.
Pourquoi les gens ont-ils abandonné l’octal pour le hex dans le code ?
L’hexadécimal est devenu dominant parce qu’il aligne mieux avec le matériel moderne (8 bits = 2 chiffres hex). L’octal recule depuis les années 1990.
Comment identifier si une chaîne est en octal ou en décimal ?
Le contexte est la clé. En C, un antislash suivi de trois chiffres signifie octal. En dehors d’un escape sequence, c’est généralement décimal.