American Standard Code for Information Interchange

American Standard Code for Information Interchange
Page d'aide sur les redirections « ASCII » redirige ici. Pour les autres significations, voir ASCII (homonymie).
Les 95 caractères ASCII affichables :
 !"#$%&'()*+,-./
0123456789:;<=>?
@ABCDEFGHIJKLMNO
PQRSTUVWXYZ[\]^_
`abcdefghijklmno
pqrstuvwxyz{|}~

Le jeu de caractères codés ASCII [askiː] (American Standard Code for Information Interchange « Code américain normalisé pour l'échange d'information ») est la norme de codage de caractères en informatique la plus connue, la plus ancienne et la plus largement compatible. ASCII contient les caractères nécessaires pour écrire en anglais.

Elle a été inventée par l'américain Bob Bemer en 1961. Sa dernière version stabilisée a été normalisée par l’ANSI en 1986 sous la désignation ANSI X3.4:1986 (après deux autres versions en 1967 et 1968, historiquement normalisées par l’ASI, devenu ANSI mais qui ne normalisait pas encore toutes les positions). C’est également la variante américaine des jeux de caractères codés selon la norme ISO/CEI 646 avec laquelle on la confond souvent (d’où sa désignation également comme US-ASCII pour lever l’ambiguité, désignation préférée dans le registre IANA des jeux de caractères codés).

Elle est à la base de nombreuses autres normes nationales ou internationales qui l’étendent, telles que ISO/CEI 8859, GB 18030 et ISO/CEI 10646 ou Unicode.

Sommaire

Principes

L'ASCII définit 128 caractères numérotés de 0 à 127 et codés en binaire de 0000000 à 1111111. Sept bits suffisent donc pour représenter un caractère codé en ASCII. Toutefois, les ordinateurs travaillant presque tous sur un multiple de huit bits (multiple d'un octet) depuis les années 1970, chaque caractère d'un texte en ASCII est stocké dans un octet dont le 8e bit est 0.

Les caractères de numéro 0 à 31 et le 127 ne sont pas affichables ; ils correspondent à des commandes de contrôle de terminal informatique. Le caractère numéro 32 est l'espace. Les autres caractères sont les chiffres arabes, les lettres latines majuscules et minuscules et quelques symboles de ponctuation.

Extensions

De nombreuses normes de codage de caractères ont repris les codes ASCII et ajouté d’autres caractères pour les codes supérieurs à 127. En particulier, beaucoup de pages de codes étendent l'ASCII en utilisant le 8e bit pour définir des caractères numérotés de 128 à 255. La norme ISO/CEI 8859 fournit des extensions pour diverses langues. Par exemple, l’ISO 8859-1, aussi appelée Latin-1, étend l’ASCII avec les caractères accentués utiles aux langues originaires d’Europe occidentale comme le français ou l’allemand.

Par abus de langage, on appelle souvent « ASCII » des normes qui étendent ASCII, mais qui ne sont pas compatibles entre elles (et parfois même ne sont pas compatibles sur leurs 128 premiers caractères codés). En particulier, les standards Windows-1252 (couramment utilisé sur Microsoft Windows dans les pays occidentaux), ISO 8859-1 (couramment utilisé sur Internet et UNIX) et les pages de code pour PC numéro 437 et 850 (couramment utilisées sur DOS) ne sont pas la norme ASCII. Cet abus de langage ne va pas sans causer des confusions causant des incompatibilités, souvent rendues visibles par le fait que les caractères non ASCII comme les « lettres accentuées » (éÈç) s'affichent mal. On écrit parfois ASCII de base pour bien identifier ASCII, et pas un standard plus étendu.

Afin d’unifier les différents codages de caractères complétant l'ASCII et y intégrer les codages complètement différents (le JIS pour le japonais par exemple, qui bien que développé aussi sur la base de l’US-ASCII, en diffère dans l’assignation d’un des 128 premiers codets), la norme ISO/CEI 10646 a été inventée (et aussi développée au départ séparément par le Consortium Unicode dans une version de sa norme Unicode 1.0 initialement incompatible avec ISO/CEI 10646, mais abandonnée depuis la version 1.1 afin d’unifier et fusionner les deux répertoires dans un jeu universel de caractères codés). ISO/CEI 10646 codifie des dizaines de milliers de caractères, mais les 128 premiers restent compatibles avec ASCII (dans sa dernière version X3.4-1986) ; la norme Unicode y ajoute des sémantiques supplémentaires.

Toutefois, certains pays d’Asie orientale (la République populaire de Chine, les anciens dominions britannique et portugais en Chine, de Hong Kong et Macao, qui sont devenus depuis des régions administratives spéciales de Chine, la République de Chine à Taïwan, et le Japon) ont choisi de continuer à développer leur propre norme pour coder le jeu de caractères universel, tout en choisissant de les maintenir entièrement convertibles avec l’ISO/CEI 10646 ; parmi ces normes asiatiques, seule la norme nationale japonaise continue à maintenir une différence dans ses 128 premières positions avec le jeu ASCII, en codant le symbole monétaire du yen à la place de la barre oblique inversée (comme c’est aussi le cas dans la variante japonaise de la norme ISO/CEI 646).

Parmi les nombreuses extensions 8 bits de l'ASCII, le Multinational Character Set créé par Digital Equipment Corporation pour le terminal informatique VT220 est considéré comme à la fois l'ancêtre de l'ISO 8859-1 et de l'Unicode[1].

Table des 128 caractères ASCII

PDF :
fr en
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
000
NUL
SOH
STX
ETX
EOT
ENQ
ACK
VT
FF
SO
SI
001
DLE
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB
FS
GS
RS
US
002
003
004
005
006
007

Dans cette table, les 33 caractères de contrôle (codes 0 à 31 et 127) sont présentés avec leur nom en anglais suivi d'une traduction entre parenthèses.

Code en base Caractère Signification
10 8 16 2
0 0 00 0000000 NUL Null (nul)
1 01 01 0000001 SOH Start of Header (début d'en-tête)
2 02 02 0000010 STX Start of Text (début du texte)
3 03 03 0000011 ETX End of Text (fin du texte)
4 04 04 0000100 EOT End of Transmission (fin de transmission)
5 05 05 0000101 ENQ Enquiry (End of Line) (demande, fin de ligne)
6 06 06 0000110 ACK Acknowledge (accusé de réception)
7 07 07 0000111 BEL Bell (caractère d'appel)
8 010 08 0001000 BS Backspace (espacement arrière)
9 011 09 0001001 HT Horizontal Tab (tabulation horizontale)
10 012 0A 0001010 LF Line Feed (saut de ligne)
11 013 0B 0001011 VT Vertical Tab (tabulation verticale)
12 014 0C 0001100 FF Form Feed (saut de page)
13 015 0D 0001101 CR Carriage Return (retour chariot)
14 016 0E 0001110 SO Shift Out (fin d'extension)
15 017 0F 0001111 SI Shift In (démarrage d'extension)
16 020 10 0010000 DLE Data Link Escape
17 021 11 0010001 DC1 Device Control 1 à 4 (DC1 et DC3 sont généralement utilisés pour coder XON et XOFF dans un canal de communication duplex)
18 022 12 0010010 DC2
19 023 13 0010011 DC3
20 024 14 0010100 DC4
21 025 15 0010101 NAK Negative Acknowledge (accusé de réception négatif)
22 026 16 0010110 SYN Synchronous Idle
23 027 17 0010111 ETB End of Transmission Block (fin du bloc de transmission)
24 030 18 0011000 CAN Cancel (annulation)
25 031 19 0011001 EM End of Medium (fin de support)
26 032 1A 0011010 SUB Substitute (substitution)
27 033 1B 0011011 ESC Escape (échappement)
28 034 1C 0011100 FS File Separator (séparateur de fichier)
29 035 1D 0011101 GS Group Separator (séparateur de groupe)
30 036 1E 0011110 RS Record Separator (séparateur d'enregistrement)
31 037 1F 0011111 US Unit Separator (séparateur d'unité)
32 040 20 0100000 SP Espace (Space en anglais)
33 041 21 0100001  ! Point d'exclamation
34 042 22 0100010 " Guillemet droit
35 043 23 0100011 # Croisillon et parfois Dièse
36 044 24 0100100 $ Dollar (symbole)
37 045 25 0100101  % Pourcent
38 046 26 0100110 & Esperluette
39 047 27 0100111 ' Apostrophe (guillemet fermant simple ou accent aigu)[2]
40 050 28 0101000 ( Parenthèse ouvrante
41 051 29 0101001 ) Parenthèse fermante
42 052 2A 0101010 * Astérisque
43 053 2B 0101011 + Plus
44 054 2C 0101100 , Virgule
45 055 2D 0101101 - Moins
46 056 2E 0101110 . Point
47 057 2F 0101111 / Barre oblique (Slash en anglais)
48 060 30 0110000 0 Le chiffre zéro
49 061 31 0110001 1 Le chiffre un
50 062 32 0110010 2 Le chiffre deux
51 063 33 0110011 3 Le chiffre trois
52 064 34 0110100 4 Le chiffre quatre
53 065 35 0110101 5 Le chiffre cinq
54 066 36 0110110 6 Le chiffre six
55 067 37 0110111 7 Le chiffre sept
56 070 38 0111000 8 Le chiffre huit
57 071 39 0111001 9 Le chiffre neuf
58 072 3A 0111010  : Deux-points
59 073 3B 0111011  ; Point-virgule
60 074 3C 0111100 < Inférieur
61 075 3D 0111101 = Égal
62 076 3E 0111110 > Supérieur
63 077 3F 0111111  ? Point d'interrogation
64 0100 40 1000000 @ Arrobe
65 0101 41 1000001 A
66 0102 42 1000010 B
67 0103 43 1000011 C
68 0104 44 1000100 D
69 0105 45 1000101 E
70 0106 46 1000110 F
71 0107 47 1000111 G
72 0110 48 1001000 H
73 0111 49 1001001 I
74 0112 4A 1001010 J
75 0113 4B 1001011 K
76 0114 4C 1001100 L
77 0115 4D 1001101 M
78 0116 4E 1001110 N
79 0117 4F 1001111 O
80 0120 50 1010000 P
81 0121 51 1010001 Q
82 0122 52 1010010 R
83 0123 53 1010011 S
84 0124 54 1010100 T
85 0125 55 1010101 U
86 0126 56 1010110 V
87 0127 57 1010111 W
88 0130 58 1011000 X
89 0131 59 1011001 Y
90 0132 5A 1011010 Z
91 0133 5B 1011011 [ Crochet ouvrant
92 0134 5C 1011100 \ Barre oblique inversée (backslash en anglais) ; également nommée Antislash
93 0135 5D 1011101 ] Crochet fermant
94 0136 5E 1011110 ^ Accent circonflexe
95 0137 5F 1011111 _ Tiret bas ou souligné (underscore en anglais)
96 0140 60 1100000 ` Accent grave [3]
97 0141 61 1100001 a
98 0142 62 1100010 b
99 0143 63 1100011 c
100 0144 64 1100100 d
101 0145 65 1100101 e
102 0146 66 1100110 f
103 0147 67 1100111 g
104 0150 68 1101000 h
105 0151 69 1101001 i
106 0152 6A 1101010 j
107 0153 6B 1101011 k
108 0154 6C 1101100 l
109 0155 6D 1101101 m
110 0156 6E 1101110 n
111 0157 6F 1101111 o
112 0160 70 1110000 p
113 0161 71 1110001 q
114 0162 72 1110010 r
115 0163 73 1110011 s
116 0164 74 1110100 t
117 0165 75 1110101 u
118 0166 76 1110110 v
119 0167 77 1110111 w
120 0170 78 1111000 x
121 0171 79 1111001 y
122 0172 7A 1111010 z
123 0173 7B 1111011 { Accolade ouvrante
124 0174 7C 1111100 | Barre verticale
125 0175 7D 1111101 } Accolade fermante
126 0176 7E 1111110 ~ Tilde
127 0177 7F 1111111 DEL Delete (effacement)

Caractères de contrôle

NUL

Originellement une NOP, un caractère à ignorer. Lui donner le code 0 permettait de prévoir des réserves sur les bandes perforées en laissant des zones sans perforation pour insérer de nouveaux caractères a posteriori. Avec le développement du langage C il a pris une importance particulière quand il a été utilisé comme indicateur de fin de chaîne de caractères.

SOH

Start of heading : début d'en-tête. Il est aujourd'hui souvent utilisé dans les communications séries pour permettre la synchronisation après erreur[4].

DEL

Delete : effacement. Lui donner le code 127 permettait de supprimer a posteriori un caractère sur les bandes perforées qui codaient les informations sur 7 bits.

LF, CR, fin de ligne

Dans un fichier texte, la fin d'une ligne est représentée par un ou deux caractères de contrôle. Plusieurs conventions existent :

Ainsi, lorsqu'on transfère un fichier ASCII entre des systèmes ayant des conventions de fin de ligne différentes, il faut convertir les fins de ligne pour pouvoir le manipuler confortablement sur le système cible. Autrement, il faut utiliser un éditeur de texte capable de gérer les diverses conventions de fin de ligne, ce qui n'est par exemple pas le cas du classique Bloc-notes de Microsoft Windows. Les programmes utilisant les fichiers ASCII ne sont en général pas perturbés par un changement de type de fin de ligne.

SUB

Il est souvent associé à la combinaison de touche Contrôle + z, et est utilisé dans les communications séries pour permettre l'envoi des données en lieu et place de la touche entrée.

Voir aussi

Notes et références

  1. Roman Czyborra, « ISO 8859-1 and MCS, from ISO 8859 Alphabet Soup », 1998
  2. La norme ANSI X3.4 définit le caractère 39 par « apostrophe (closing single quotation mark, acute accent) » et les anciennes tables de caractères le représentaient souvent incliné. Les encodages plus récents restreignent ce code à la représentation de l'apostrophe verticale (ni penchée à droite, ni à gauche, mais neutre). Voir (en)Latin-1's apostrophe, grave accent, acute accent.
  3. Le code 96 est également employé comme guillemet ouvrant simple en ASCII. En Unicode, il existe un code plus approprié.
  4. (en)ASCII character set

Liens externes

Articles connexes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article American Standard Code for Information Interchange de Wikipédia en français (auteurs)

Игры ⚽ Нужна курсовая?

Regardez d'autres dictionnaires:

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”