II.2. LE CODAGE DES CARACTÈRES : LE CODE
ASCII
Dans la vie de tous les jours, pour l'écriture de
documents alphanumériques, nous faisons appel à :
Un alphabet de lettres minuscules ={
a,b,c,....,z}, soient 26 caractères
;
Un alphabet de lettres majuscules = { A, B,
C,...., Z}, soient 26 caractères ; Des chiffres{
0,1,2,3,4,5,6,7,8,9}, soient 10 caractères ;
Des symboles syntaxiques { ?, ;(« .... au minimum 10
caractères ;
Soit un total minimal de 72 caractères.
Si l'on avait choisi un code à 6 bits le nombre de
caractères codables aurait été de 26 = 64 (tous
les nombres binaires compris entre 000000 et 111111), nombre donc insuffisant
pour nos besoins.
~ 27 ~
Il faut au minimum 1 bit de plus, ce qui permet ainsi
27 = 128 nombres binaires différents, autorisant alors le
codage de 128 caractères.
II.2.1. Le code ASCII original (128 caractères)
Initialement le code ASCII est un code à 7 bits
(27=128 caractères). Les tableaux qui vont suivre
dégagent l'analogie entre le décimal, l'octal,
l'hexadécimal, le binaire et la signification de chaque code de
caractères du code ASCII original.
Décimal
|
Octal
|
Hexadécimal
|
Binaire
|
Signification (Alt +code décimal)
|
000
|
000
|
000
|
00000000
|
NUL (Null Char.)
|
001
|
001
|
001
|
00000001
|
SOH (Start of Header)
|
002
|
002
|
002
|
00000010
|
STX (Start of Text)
|
003
|
003
|
003
|
00000011
|
ETX
|
004
|
004
|
004
|
00000100
|
EOT(End of Transmission)
|
005
|
005
|
005
|
00000101
|
ENQ (Enquiry)
|
006
|
006
|
006
|
00000110
|
ACK (Acknowledgement)
|
007
|
007
|
007
|
00000111
|
BEL (Bell)
|
008
|
010
|
008
|
00001000
|
BS (Backspace)
|
009
|
011
|
009
|
00001001
|
HT (horizontal Tab)
|
010
|
012
|
00A
|
00001010
|
LF (Line Feed)
|
011
|
013
|
00B
|
00001011
|
VT (Vertical Tab)
|
012
|
014
|
00C
|
00001100
|
FF (Form Feed)
|
013
|
015
|
00D
|
00001101
|
CR (Carriage Return)
|
014
|
016
|
00E
|
00001110
|
SO (Shift Out)
|
015
|
017
|
00F
|
00001111
|
SI (Shift In)
|
016
|
020
|
010
|
00010000
|
DLE (Data Link Escape)
|
017
|
021
|
011
|
00010001
|
DC1 (Device Control 1)
|
018
|
022
|
012
|
00010010
|
D (Device Control 2)
|
019
|
023
|
013
|
00010011
|
DC3(Device Control 3)
|
020
|
024
|
014
|
00010100
|
DC4 (Device Control 4)
|
~ 28 ~
Décimal
|
Octal
|
Hexadécimal
|
Binaire
|
Signification (Alt +code décimal)
|
021
|
025
|
015
|
00010101
|
NAK (Negative Acknow.)
|
022
|
026
|
016
|
00010110
|
SYN (Synchronous Idle)
|
023
|
027
|
017
|
00010111
|
ETB (End of Trans. Block)
|
024
|
030
|
018
|
00011000
|
CAN (Cancel)
|
025
|
031
|
019
|
00011001
|
EM (End of Medium)
|
026
|
032
|
01A
|
00011010
|
SUB (Substitute)
|
027
|
033
|
01B
|
00011100
|
ESC (Escape)
|
028
|
034
|
01C
|
00011101
|
FS (File Separator)
|
029
|
035
|
01D
|
00011110
|
GS (Group Separator)
|
030
|
036
|
01E
|
00011111
|
RS (Request to Send)
|
031
|
037
|
01F
|
00011111
|
US (Unit Separator)
|
032
|
040
|
020
|
00100000
|
SP (Space)
|
033
|
041
|
021
|
00100001
|
!
|
034
|
042
|
022
|
00100010
|
«
|
035
|
043
|
023
|
00100011
|
#
|
036
|
044
|
024
|
00100100
|
$
|
037
|
045
|
025
|
00100101
|
%
|
038
|
046
|
026
|
00100110
|
&
|
039
|
047
|
027
|
00100111
|
`
|
040
|
050
|
028
|
00101000
|
(
|
041
|
051
|
029
|
00101001
|
)
|
042
|
052
|
02A
|
00101010
|
*
|
043
|
053
|
02B
|
00101011
|
+
|
044
|
054
|
02C
|
00101100
|
,
|
045
|
055
|
02D
|
00101101
|
-
|
046
|
056
|
02E
|
00101110
|
.
|
047
|
057
|
02F
|
00101111
|
/
|
048
|
060
|
030
|
00110000
|
0
|
049
|
061
|
031
|
00110001
|
1
|
050
|
062
|
032
|
00110010
|
2
|
051
|
063
|
033
|
00110011
|
3
|
~ 29 ~
Décimal
|
Octal
|
Hexadécimal
|
Binaire
|
Signification (Alt +code décimal)
|
052
|
064
|
034
|
00110100
|
4
|
053
|
065
|
035
|
00110101
|
5
|
054
|
066
|
036
|
00110110
|
6
|
055
|
067
|
037
|
00110111
|
7
|
056
|
070
|
038
|
00111000
|
8
|
057
|
071
|
039
|
00111001
|
9
|
058
|
072
|
03A
|
00111010
|
:
|
059
|
073
|
03B
|
00111011
|
;
|
060
|
074
|
03C
|
00111100
|
<
|
061
|
075
|
03D
|
00111101
|
=
|
062
|
076
|
03E
|
00111110
|
>
|
063
|
077
|
03F
|
00111111
|
?
|
064
|
100
|
040
|
01000000
|
@
|
065
|
101
|
041
|
01000001
|
A
|
066
|
102
|
042
|
01000010
|
B
|
067
|
103
|
043
|
01000011
|
C
|
068
|
104
|
044
|
01000100
|
D
|
069
|
0105
|
045
|
01000101
|
E
|
070
|
106
|
046
|
01000110
|
F
|
071
|
107
|
047
|
01000111
|
G
|
072
|
110
|
048
|
01001000
|
H
|
073
|
111
|
049
|
01001001
|
I
|
074
|
112
|
04A
|
01001010
|
J
|
075
|
113
|
04B
|
01001011
|
K
|
076
|
114
|
04C
|
01001100
|
L
|
077
|
115
|
04D
|
01001101
|
M
|
078
|
116
|
04E
|
01001110
|
N
|
079
|
117
|
04F
|
01001111
|
O
|
080
|
120
|
050
|
01010000
|
P
|
081
|
121
|
051
|
01010001
|
Q
|
082
|
122
|
052
|
01010010
|
R
|
~ 30 ~
Décimal
|
Octal
|
Hexadécimal
|
Binaire
|
Signification (Alt +code décimal)
|
083
|
123
|
053
|
01010011
|
S
|
084
|
124
|
054
|
01010100
|
T
|
085
|
125
|
055
|
01010101
|
U
|
086
|
126
|
056
|
01010110
|
V
|
087
|
127
|
057
|
01010111
|
W
|
088
|
130
|
058
|
01011000
|
X
|
089
|
131
|
059
|
01011001
|
Y
|
090
|
132
|
05A
|
01010101
0
|
Z
|
091
|
133
|
05B
|
01011011
|
[
|
092
|
134
|
05C
|
01011100
|
\
|
093
|
135
|
05D
|
01011101
|
]
|
094
|
136
|
05E
|
01011110
|
^
|
095
|
137
|
05F
|
01011111
|
_
|
096
|
140
|
060
|
01100000
|
`
|
097
|
141
|
061
|
01100001
|
a
|
098
|
142
|
062
|
01100010
|
b
|
099
|
143
|
063
|
01100011
|
c
|
100
|
144
|
064
|
01100100
|
d
|
101
|
145
|
065
|
01100101
|
e
|
102
|
146
|
066
|
01100110
|
f
|
103
|
147
|
067
|
01100111
|
g
|
104
|
150
|
068
|
01101000
|
h
|
105
|
151
|
069
|
01101001
|
i
|
106
|
152
|
06A
|
01101010
|
j
|
107
|
153
|
06B
|
01101011
|
k
|
108
|
154
|
06C
|
01101100
|
l
|
109
|
155
|
06D
|
01101101
|
m
|
110
|
156
|
06E
|
01101110
|
n
|
111
|
157
|
06F
|
01101111
|
o
|
112
|
160
|
070
|
01110000
|
p
|
~ 31 ~
Décimal
|
Octal
|
Hexadécimal
|
Binaire
|
Signification (Alt +code décimal)
|
113
|
161
|
071
|
01110001
|
q
|
114
|
162
|
072
|
01110010
|
r
|
115
|
163
|
073
|
01110011
|
s
|
116
|
164
|
074
|
01110100
|
t
|
117
|
165
|
075
|
01110101
|
u
|
118
|
166
|
076
|
01110110
|
v
|
119
|
167
|
077
|
01110111
|
w
|
120
|
170
|
078
|
01111000
|
x
|
121
|
171
|
079
|
01111001
|
y
|
122
|
172
|
07A
|
01111010
|
z
|
123
|
173
|
07B
|
01111011
|
{
|
124
|
174
|
07C
|
01111100
|
|
|
125
|
175
|
07D
|
01111101
|
}
|
126
|
176
|
07E
|
01111110
|
~
|
127
|
177
|
07F
|
01111111
|
DEL
|
Notons que, dans ce tableau, les caractères de code
inférieur à 32 (code du caractère « espace »)
ont des rôles particuliers (retour à la marge, passage à la
ligne, ...). Aussi remarquons-nous que les caractères majuscules ont un
code plus petit que le code des caractères minuscules. Certains
logiciels se basent sur cette convention pour comparer des chaînes de
caractères dans l'ordre
alphabétique. Ainsi, par exemple, la comparaison «
anatole » = « Anatole » pourrait avoir la valeur FAUX dans
certains logiciels ; la réponse dépend du mode de comparaison
entre les caractères : codage ASCII strict ou non. D'où l'on
comprend bien qu'un ordinateur est donc capable de comparer des chaînes
de caractères. Il n'a cependant jamais accès au sens des
informations : il ne traite que la forme. Il se base généralement
sur l'ordre alphabétique.
En fonction du logiciel utilisé, il se peut que la
convention d'ordre alphabétique diffère.
Généralement, les caractères majuscules et minuscules ne
sont pas considérés comme équivalents.
~ 32 ~
|