Convertisseur texte en octal et octal en texte

Écrivez chaque octet de votre texte sous forme de nombre octal à trois chiffres, ou retransformez une liste de valeurs d’octets en octal en texte lisible. Compatible avec UTF-8 et de nombreux jeux de caractères historiques.

Fonctionne entièrement dans votre navigateur. Aucune donnée n’est envoyée.

Mode d’emploi

  1. Choisissez Encoder pour convertir du texte en octal, ou Décoder pour reconvertir des valeurs octales en texte.
  2. Saisissez ou collez les données, ou ouvrez un fichier pour en convertir les octets.
  3. Sélectionnez un séparateur pour la sortie : Espace, Aucun, Virgule ou Saut de ligne.
  4. Copiez le résultat ou téléchargez-le sous forme de fichier.

Qu’est-ce que l’octal ?

L’octal, ou Base8, écrit les nombres avec les chiffres de 0 à 7. Chaque chiffre octal représente exactement trois bits, ce qui a rendu l’octal populaire sur les premiers ordinateurs dont la taille de mot était un multiple de trois, comme le PDP-8 à 12 bits et le PDP-10 à 36 bits. Aujourd’hui, il subsiste surtout dans les séquences d’échappement et dans les permissions de fichiers Unix.

Un octet contient une valeur de 0 à 255, soit de 0 à 377 en octal. Ce convertisseur écrit chaque octet de l’entrée sur exactement trois chiffres octaux, avec des zéros de tête : tous les groupes ont la même largeur et peuvent même être accolés sans séparateur. Le texte est d’abord converti en octets avec l’encodage de texte sélectionné : un octet par caractère pour l’ASCII simple, de deux à quatre octets par caractère pour les autres écritures en UTF-8.

Séquences d’échappement octales

C, C++, Python, Perl et la commande printf du shell permettent d’écrire un octet sous la forme d’une barre oblique inverse suivie d’au plus trois chiffres octaux : \101 correspond à la lettre A et \012 à un saut de ligne.

Cet outil produit des chiffres seuls, sans barre oblique inverse. Pour construire une chaîne échappée, prenez la sortie séparée par des espaces, remplacez chaque espace par une barre oblique inverse et ajoutez-en une devant le premier groupe. Pour décoder des séquences d’échappement, faites l’inverse et remplacez les barres obliques inverses par des espaces, car le décodeur n’accepte que des chiffres et des séparateurs.

Les permissions de fichiers comme 755 sont aussi exprimées en octal, mais ce sont des nombres, pas du texte. Pour convertir un tel nombre en binaire ou en décimal, utilisez le convertisseur de bases numériques.

L’octal dans le code

# Python
' '.join(f'{b:03o}' for b in 'Hi'.encode())            # '110 151'
bytes(int(o, 8) for o in '110 151'.split()).decode()   # 'Hi'

# Shell
printf '\110\151\n'        # affiche Hi
printf 'Hi' | od -An -to1   # 110 151

Spécifications

Alphabet0-7
Taille de sortie3 chiffres par octet (300 %)
RemplissageAucun
NormeNumération octale positionnelle
Sensible à la casseNon

Exemples

Entrée (UTF-8)Sortie
Hello, World!110 145 154 154 157 054 040 127 157 162 154 144 041
Base64.is102 141 163 145 066 064 056 151 163
你好344 275 240 345 245 275

Questions fréquentes

Pourquoi chaque octet a-t-il trois chiffres octaux ?

La plus grande valeur d’un octet, 255, s’écrit 377 en octal : trois chiffres suffisent donc toujours. Compléter les petites valeurs par des zéros de tête donne la même largeur à chaque groupe, ce qui permet de redécouper en octets une chaîne sans séparateurs.

Comment décoder de l’octal sans espaces ?

Collez les chiffres sous forme d’une chaîne continue. Le décodeur la découpe en groupes de trois : sa longueur doit donc être un multiple de 3. Si certaines valeurs ont moins de trois chiffres, séparez-les plutôt par des espaces, des virgules ou des sauts de ligne.

Pourquoi une valeur comme 400 est-elle refusée ?

400 en octal vaut 256, ce qui ne tient pas dans un octet. Les valeurs d’octet valides vont de 0 à 377, et le décodeur indique la position de tout groupe situé hors de cette plage. Quant aux chiffres 8 et 9, ce ne sont pas du tout des chiffres octaux valides.

Puis-je obtenir les valeurs octales pour un autre jeu de caractères ?

Oui. Choisissez-le dans le menu « Encodage du texte », par exemple Windows-1252 ou ISO-8859-1 pour un octet par caractère d’Europe occidentale, ou GBK ou Shift_JIS pour du texte chinois ou japonais.