Convertisseur texte en décimal et décimal en texte

Transformez chaque octet de votre texte en un nombre décimal de 0 à 255, c’est-à-dire les codes ASCII bien connus pour le texte anglais, ou reconvertissez une liste de valeurs décimales en texte.

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

Mode d’emploi

  1. Choisissez Encoder pour transformer du texte en nombres décimaux, ou Décoder pour retrouver le texte à partir des nombres.
  2. Saisissez ou collez vos données, ou ouvrez un fichier. Le résultat se met à jour pendant la saisie.
  3. Choisissez un séparateur pour les nombres : Espace, Virgule ou Saut de ligne.
  4. Copiez les nombres ou téléchargez-les sous forme de fichier.

Valeurs décimales des octets et codes ASCII

Dans un ordinateur, chaque caractère est stocké sous forme d’un ou de plusieurs octets, et un octet n’est rien d’autre qu’un nombre de 0 à 255. Cet outil écrit chacun de ces nombres en notation décimale ordinaire. Pour du texte anglais, ces nombres sont les codes ASCII bien connus : les majuscules vont de 65 à 90, les minuscules de 97 à 122, les chiffres 0 à 9 de 48 à 57, et l’espace vaut 32. Les caractères de contrôle se situent sous 32, par exemple 10 pour le saut de ligne et 13 pour le retour chariot.

Le résultat est la même liste que celle obtenue avec ord() en Python ou en lisant un Uint8Array en JavaScript. C’est un moyen pratique de repérer dans une chaîne des caractères invisibles, des fins de ligne ou une marque d’ordre des octets (BOM).

Un nombre par octet, et non un seul grand nombre

La conversion se fait octet par octet : un mot de deux lettres donne deux nombres, et non un seul entier. Les valeurs supérieures à 127 n’apparaissent jamais dans un texte ASCII. En UTF-8, elles forment des séquences de deux à quatre octets qui composent ensemble un seul caractère, ce qui explique qu’une lettre accentuée ou un caractère chinois produise plusieurs nombres. Pour obtenir une valeur par caractère avec du texte d’Europe occidentale, choisissez ISO-8859-1, où chaque valeur d’octet est égale au point de code Unicode du caractère, ou Windows-1252.

Pour convertir plutôt un nombre isolé d’une base à une autre, par exemple 255 en hexadécimal, utilisez le convertisseur de bases numériques. Pour voir les mêmes octets dans d’autres notations, essayez l’hexadécimal ou le binaire.

Valeurs décimales des octets dans le code

# Python
list('Hi'.encode())                  # [72, 105]
bytes([72, 105]).decode()            # 'Hi'

// JavaScript
[...new TextEncoder().encode('Hi')]                   // [72, 105]
new TextDecoder().decode(new Uint8Array([72, 105]))   // 'Hi'

Spécifications

Alphabet0-9
Taille de sortie1 à 3 chiffres par octet, plus les séparateurs
RemplissageAucun
NormeValeurs décimales des octets
Sensible à la casseNon

Exemples

Entrée (UTF-8)Sortie
Hello, World!72 101 108 108 111 44 32 87 111 114 108 100 33
Base64.is66 97 115 101 54 52 46 105 115
你好228 189 160 229 165 189

Questions fréquentes

Quel est le code ASCII décimal de A ?

Le A majuscule vaut 65 et le a minuscule 97, en ASCII comme en UTF-8. Chaque lettre suivante ajoute un : Z vaut donc 90 et z vaut 122.

Puis-je décoder des nombres décimaux sans séparateurs ?

Non. Une suite de chiffres comme 72105 peut se découper de plusieurs façons : le décodeur a donc besoin de nombres séparés par des espaces, des virgules, des points-virgules ou des sauts de ligne. Les zéros de tête sont autorisés.

Pourquoi les nombres supérieurs à 255 provoquent-ils une erreur ?

Un octet contient des valeurs de 0 à 255. Les nombres plus grands, comme le point de code Unicode 8364 du signe euro, ne sont pas des valeurs d’octet. Saisissez plutôt le caractère lui-même et encodez-le pour voir ses octets, par exemple en UTF-8.

Pourquoi un seul caractère donne-t-il plusieurs nombres ?

UTF-8 stocke les caractères hors ASCII sur deux, trois ou quatre octets, et chaque octet devient un nombre distinct. Choisissez un jeu de caractères à un octet, comme Windows-1252, si vous avez besoin d’un nombre par caractère d’Europe occidentale.