Qu'est-ce que ASCII?
ASCII (American Standard Code for Information Interchange) est un standard de codage de caractères utilisé pour représenter du texte dans les ordinateurs et autres appareils électroniques. Développé dans les années 1960, ASCII est devenu l'un des premiers codages de caractères largement adoptés, formant la base de la représentation numérique moderne du texte.
Le jeu de caractères ASCII standard se compose de 128 caractères (0-127), qui comprennent des caractères de contrôle, des caractères imprimables et des signes de ponctuation. L'ASCII étendu élargit cette gamme à 256 caractères (0-255), ajoutant des symboles supplémentaires, des caractères spéciaux et des caractères d'alphabets non anglais.
Catégories de caractères ASCII
Caractères de contrôle (0-31 et 127)
Les caractères de contrôle ASCII sont des caractères non imprimables conçus pour contrôler des périphériques comme les imprimantes et les équipements de télécommunication. Ces caractères exécutent des fonctions telles que le retour chariot, le saut de ligne, la tabulation horizontale et bien d'autres.
Exemples de caractères de contrôle:
0 (NUL)
- Caractère nul9 (HT)
- Tabulation horizontale10 (LF)
- Saut de ligne13 (CR)
- Retour chariot27 (ESC)
- Échappement
Caractères imprimables (32-126)
Les caractères ASCII imprimables comprennent les lettres, les chiffres, les symboles et les signes de ponctuation qui peuvent être affichés à l'écran ou imprimés. Cette plage contient les caractères les plus couramment utilisés dans le texte anglais.
Les caractères imprimables comprennent:
32 (Space)
- Caractère d'espace48-57
- Chiffres 0-965-90
- Lettres majuscules A-Z97-122
- Lettres minuscules a-z33-47, 58-64, 91-96, 123-126
- Ponctuation et symboles
ASCII étendu (128-255)
Les caractères ASCII étendus vont au-delà de l'ASCII standard 7 bits pour inclure 128 caractères supplémentaires. Ceux-ci comprennent des caractères internationaux, des symboles mathématiques, des symboles graphiques et d'autres caractères spéciaux.
Remarque: Les caractères ASCII étendus peuvent varier selon les pages de code et les jeux de caractères.
Les caractères ASCII étendus courants incluent les lettres accentuées (é, ü, ñ), les symboles monétaires (€, £, ¥), les symboles mathématiques (±, ÷, ×) et divers caractères de dessin de boîtes.
ASCII vs Unicode
Alors qu'ASCII est limité à 256 caractères au maximum, Unicode est une norme de codage de caractères plus complète qui peut représenter pratiquement tous les caractères de tous les systèmes d'écriture utilisés dans le monde.
ASCII est en fait un sous-ensemble d'Unicode, les 128 premiers points de code Unicode (U+0000 à U+007F) correspondant aux caractères ASCII standard. Cela signifie que tout texte ASCII est également un texte Unicode valide, mais pas l'inverse.
Formats d'encodage ASCII
Les codes de caractères ASCII peuvent être représentés dans différents formats numériques:
Format | Description | Exemple (Lettre 'A') |
---|---|---|
Décimal | Représentation en base 10 du code ASCII | 65 |
Hexadécimal | Représentation en base 16, souvent préfixée par "0x" | 0x41 |
Octal | Représentation en base 8, souvent préfixée par "0" | 0101 |
Binaire | Représentation en base 2 du code ASCII | 01000001 |
Entité HTML | Représentation dans les documents HTML | A |
Conversion entre formats
Vous pouvez convertir entre ces formats à l'aide d'opérations mathématiques simples ou de fonctions intégrées dans divers langages de programmation:
- Décimal en Hexadécimal:
65.toString(16)
→"41"
- Hexadécimal en Décimal:
parseInt("41", 16)
→65
- Décimal en Binaire:
65.toString(2)
→"1000001"
- Caractère ASCII en Code:
"A".charCodeAt(0)
→65
- Code en Caractère ASCII:
String.fromCharCode(65)
→"A"
Utilisations courantes d'ASCII
📄 Encodage de texte
L'utilisation principale d'ASCII est l'encodage de texte dans les ordinateurs et les appareils électroniques. Il fournit une façon standardisée de représenter les caractères anglais et les symboles courants, assurant la cohérence à travers différents systèmes et plateformes.
💻 Programmation
Les codes ASCII sont essentiels en programmation pour les comparaisons de caractères, la manipulation de chaînes et la validation de données. De nombreux langages de programmation utilisent l'encodage basé sur ASCII pour leur code source, et les programmeurs doivent souvent comprendre ASCII pour les opérations basées sur les caractères.
🔐 Transmission de données
ASCII fournit un format standard pour la transmission de données textuelles entre ordinateurs et sur les réseaux. Il forme la base de nombreux protocoles de communication et formats de fichiers utilisés dans l'échange de données.
🌐 Développement web
Dans le développement web, ASCII joue un rôle dans l'encodage HTML, l'encodage URL et les considérations de jeux de caractères. Comprendre ASCII est utile pour la gestion des soumissions de formulaires, les interactions API et pour assurer le rendu correct des caractères dans différents navigateurs.
📊 Analyse de données
L'ordre de tri ASCII (où A-Z vient avant a-z, qui vient avant les caractères spéciaux dans la plupart des cas) influence la façon dont les données sont triées alphabétiquement dans les bases de données, les tableurs et d'autres applications. Comprendre cet ordre est important pour une manipulation cohérente des données.
🔄 Conversion de fichiers
ASCII fournit un dénominateur commun pour la conversion entre différents formats de fichiers et encodages de caractères. De nombreux processus de conversion d'encodage utilisent ASCII comme format intermédiaire en raison de sa simplicité et de son universalité.
Travailler avec ASCII dans les langages de programmation
Langage | Caractère en code ASCII | Code ASCII en caractère |
---|---|---|
JavaScript | "A".charCodeAt(0); // Renvoie 65 | String.fromCharCode(65); // Renvoie "A" |
Python | ord("A") # Renvoie 65 | chr(65) # Renvoie "A" |
Java | 'A' // Les littéraux de caractères sont implicitement convertis en leur valeur ASCII (int) 'A' // Cast explicite, renvoie 65 | (char) 65 // Renvoie "A" |
C/C++ | int code = 'A'; // Assigne 65 à code | char c = 65; // Assigne 'A' à c |
PHP | ord("A"); // Renvoie 65 | chr(65); // Renvoie "A" |
Référence des caractères de contrôle ASCII
Les caractères de contrôle ASCII (0-31 et 127) servent des fonctions de contrôle spécifiques en informatique et en télécommunications. Voici une référence des caractères de contrôle couramment utilisés et de leurs fonctions:
Déc | Hex | Abréviation | Nom | Description |
---|---|---|---|---|
0 | 00 | NUL | Null | Utilisé comme terminateur de chaîne en C/C++ |
8 | 08 | BS | Retour arrière | Déplace le curseur d'une position en arrière |
9 | 09 | HT | Tabulation horizontale | Déplace le curseur au prochain arrêt de tabulation |
10 | 0A | LF | Saut de ligne | Déplace le curseur à la ligne suivante, même colonne |
13 | 0D | CR | Retour chariot | Déplace le curseur au début de la ligne |
27 | 1B | ESC | Échappement | Utilisé pour démarrer des séquences d'échappement dans la gestion de terminal |
127 | 7F | DEL | Suppression | Supprime le caractère à la position du curseur |
Remarque: Dans l'informatique moderne, beaucoup de ces caractères de contrôle servent encore leurs fonctions historiques, particulièrement dans les environnements de terminal et le traitement de texte. Cependant, leur importance a évolué avec les interfaces graphiques et les éditeurs de texte plus sophistiqués.
Questions fréquemment posées
Quelle est la différence entre ASCII et UTF-8?
ASCII est une norme d'encodage de caractères 7 bits qui représente 128 caractères, principalement des caractères anglais et des codes de contrôle. UTF-8 est un encodage de caractères à largeur variable qui peut représenter tous les caractères Unicode possibles. UTF-8 est compatible avec ASCII, ce qui signifie que les 128 premiers caractères en UTF-8 sont identiques à ASCII, mais UTF-8 peut représenter beaucoup plus de caractères, y compris ceux de pratiquement toutes les langues écrites.
ASCII et Unicode sont-ils la même chose?
Non, ils sont différents mais liés. ASCII est une norme spécifique d'encodage de caractères des années 1960 qui couvre 128 caractères. Unicode est une norme d'encodage de caractères beaucoup plus complète qui vise à inclure tous les systèmes d'écriture du monde. Les 128 premiers caractères d'Unicode (U+0000 à U+007F) correspondent à l'ASCII standard, faisant d'ASCII effectivement un sous-ensemble d'Unicode.
Pourquoi utilisons-nous encore ASCII alors que nous avons Unicode?
ASCII est encore largement utilisé car il est simple, universellement pris en charge et suffisant pour de nombreuses applications en langue anglaise. Il nécessite moins d'espace de stockage que Unicode pour le texte anglais, et de nombreux systèmes et formats de fichiers hérités sont construits autour d'ASCII. De plus, ASCII reste important pour comprendre les concepts d'encodage de caractères et pour la compatibilité avec les systèmes plus anciens.
Quelle est la signification de la valeur ASCII 32?
La valeur ASCII 32 représente le caractère espace. Elle marque le début des caractères ASCII imprimables, car tous les caractères ayant des valeurs de 0 à 31 sont des caractères de contrôle. Le caractère espace est significatif car il sert de délimiteur entre les mots dans le texte et est le premier caractère visible (bien que vide) dans la table ASCII.
Comment puis-je déterminer si un caractère est en majuscule ou en minuscule en ASCII?
En ASCII, les lettres majuscules 'A' à 'Z' ont des valeurs de 65 à 90, tandis que les lettres minuscules 'a' à 'z' ont des valeurs de 97 à 122. La différence entre une lettre majuscule et son équivalent minuscule est toujours de 32. Par exemple, 'A' est 65 et 'a' est 97 (65 + 32). Cette différence constante facilite la conversion entre les cas en ajoutant ou en soustrayant simplement 32.