Comment Ca Marche - Communauté informatique  
   
Accueil - Encyclopédie informatiqueTélécharger l'encyclopédieContribuer à cet article

Le code ASCII

ASCII Encyclopédie


Le codage des informations

Le morse a été le premier codage à permettre une communication longue distance. C'est Samuel F.B.Morse qui l'a mis au point en 1844. Ce code est composé de points et de tirets (un codage binaire en quelque sorte...). Il permit d'effectuer des communications beaucoup plus rapides que ne le permettait le système de courrier de l'époque aux Etats-Unis : le Pony Express. L'interpréteur était l'homme à l'époque, il fallait donc une bonne connaissance du code...

De nombreux codes furent inventés dont le code d'Émile Baudot (portant d'ailleurs le nom de code Baudot, les anglais l'appelaient en revanche Murray Code).

Le 10 mars 1876, le Dr Graham Bell met au point le téléphone, une invention révolutionnaire qui permet de faire circuler de l'information vocale dans des lignes métalliques. Pour l'anecdote, la Chambre des représentants a décidé que l'invention du téléphone revenait à Antonio Meucci. Ce dernier avait en effet déposé une demande de brevet en 1871, mais n'avait pas pu financer celle-ci au-delà de 1874.

Ces lignes permirent l'essor des téléscripteurs, des machines permettant de coder et décoder des caractères grâce au code Baudot (les caractères étaient alors codés sur 5 bits, il y avait donc 32 caractères uniquement...).

Dans les années 60, le code ASCII (American Standard Code for Information Interchange) est adopté comme standard. Il permet le codage de caractères sur 8 bits, soit 256 caractères possibles.

Qu'est-ce que le code ASCII ?

La mémoire de l'ordinateur conserve toutes les données sous forme numérique. Il n'existe pas de méthode pour stocker directement les caractères. Chaque caractère possède donc son équivalent en code numérique : c'est le code ASCII (American Standard Code for Information Interchange - traduisez « Code Americain Standard pour l'Echange d'Informations »). Le code ASCII de base représentait les caractères sur 7 bits (c'est-à-dire 128 caractères possibles, de 0 à 127).

  • Les codes 0 à 31 ne sont pas des caractères. On les appelle caractères de contrôle car ils permettent de faire des actions telles que :
    • retour à la ligne (CR)
    • Bip sonore (BEL)
  • Les codes 65 à 90 représentent les majuscules
  • Les codes 97 à 122 représentent les minuscules
    (Il suffit de modifier le 6ème bit pour passer de majuscules à minuscules, c'est-à-dire ajouter 32 au code ASCII en base décimale.)

Table des caractères ASCII

caractère code ASCII code hexadécimal
NUL (Null) 0 00
SOH (Start of heading) 1 01
STX (Start of text) 2 02
ETX (End of text) 3 03
EOT (End of transmission) 4 04
ENQ (Enquiry) 5 05
ACK (Acknowledge) 6 06
BEL (Bell) 7 07
BS (Backspace) 8 08
TAB (Tabulation horizontale) 9 09
LF (Line Feed, saut de ligne) 10 0A
VT (Vertical tabulation, tabulation verticale) 11 0B
FF (Form feed) 12 0C
CR (Carriage return, retour à la ligne) 13 0D
SO (Shift out) 14 0E
SI (Shift in) 15 0F
DLE (Data link escape) 16 10
DC1 (Device control 1) 17 11
DC2 (Device control 2) 18 12
DC3 (Device control 3) 19 13
DC4 (Device control 4) 20 14
NAK (Negative acknowledgement) 21 15
SYN (Synchronous idle) 22 16
ETB (End of transmission block, fin de bloc de transmission) 23 17
CAN (Cancel, annulation) 24 18
EM (End of medium, fin du médium) 25 19
SUB (Substitute, substitut) 26 1A
ESC (Escape, caractère d'échappement) 27 1B
FS (File separator, séparateur de fichier) 28 1C
GS (Group separator, séparateur de groupe) 29 1D
RS (Record separator, séparateur d'enregistrement) 30 1E
US (Unit separator, séparateur d'enregistrement) 31 1F
SP (Space, espace) 32 20
! 33 21
" 34 22
# 35 23
$ 36 24
% 37 25
& 38 26
' 39 27
( 40 28
) 41 29
* 42 2A
+ 43 2B
, 44 2C
- 45 2D
. 46 2E
/ 47 2F
0 48 30
1 49 31
2 50 32
3 51 33
4 52 34
5 53 35
6 54 36
7 55 37
8 56 38
9 57 39
: 58 3A
; 59 3B
< 60 3C
= 61 3D
> 62 3E
? 63 3F
@ 64 40
A 65 41
B 66 42
C 67 43
D 68 44
E 69 45
F 70 46
G 71 47
H 72 48
I 73 49
J 74 4A
K 75 4B
L 76 4C
M 77 4D
N 78 4E
O 79 4F
P 80 50
Q 81 51
R 82 52
S 83 53
T 84 54
U 85 55
V 86 56
W 87 57
X 88 58
Y 89 59
Z 90 5A
[ 91 5B
\ 92 5C
] 93 5D
^ 94 5E
_ 95 5F
` 96 60
a 97 61
b 98 62
c 99 63
d 100 64
e 101 65
f 102 66
g 103 67
h 104 68
i 105 69
j 106 6A
k 107 6B
l 108 6C
m 109 6D
n 110 6E
o 111 6F
p 112 70
q 113 71
r 114 72
s 115 73
t 116 74
u 117 75
v 118 76
w 119 77
x 120 78
y 121 79
z 122 7A
{ 123 7B
| 124 7C
} 125 7D
~ 126 7E
Touche de suppression 127 7F

Table des caractères ASCII Etendue

Le code ASCII a été mis au point pour la langue anglaise, il ne contient donc pas de caractères accentués, ni de caractères spécifiques à une langue. Pour coder ce type de caractère il faut recourir à un autre code. Le code ASCII a donc été étendu à 8 bits (un octet) pour pouvoir coder plus de caractères (on parle d'ailleurs de code ASCII étendu...).
Ce code attribue les valeurs 0 à 255 (donc codées sur 8 bits, soit 1 octet) aux lettres majuscules et minuscules, aux chiffres, aux marques de ponctuation et aux autres symboles (caractères accentués dans le cas du code iso-latin1).

Le code ASCII étendu n'est pas unique et dépend fortement de la plateforme utilisée.

Les deux jeux de caractères ASCII étendus les plus couramment utilisés sont :

  • Le code ASCII étendu OEM, c'est-à-dire celui qui équipait les premières machines de type IBM PC

    ASCII étendu OEM - OEM Extended ASCII

  • Le code ASCII étendu ANSI, utilisé par les systèmes d'exploitation récents

    ASCII étendu ANSI - ANSI Extended ASCII

Le code EBCDIC

Le code EBCDIC (Extended Binary-Coded Decimal Interchange Code), développé par IBM, permet de coder des caractères sur 8 bits. Bien que largement répandu sur les machines IBM, il n'a pas eu le succès qu'a connu le code ASCII.

Unicode

Le code Unicode est un système de codage des caractères sur 16 bits mis au point en 1991. Le système Unicode permet de représenter n'importe quel caractère par un code sur 16 bits, indépendamment de tout système d'exploitation ou langage de programmation.

Il regroupe ainsi la quasi-totalité des alphabets existants (arabe, arménien, cyrillique, grec, hébreu, latin, ...) et est compatible avec le code ASCII.

L'ensemble des codes Unicode est disponible sur le site http://www.unicode.org.

Discussions pertinentes trouvées dans le forum

18/06 23h16 skyblog ascii couleur Skyblog+ASCII couleur Internet 20/12 07h24->larminach30
20/04 18h30 ascii utf ASCII et UTF Développement 24/04 13h25->SKZ6
07/12 22h53 batch utilisation ascii formatage [BATCH]Utilisation de ASCII / Formatage Développement 11/12 11h24->happy3
09/01 12h20 codes ascii portable [pas de codes ascii sur portable?] Windows 10/01 10h30->bilal923
24/05 10h14 langage code ascii caractere [langage C] code ascii d'un caractere... Développement 24/05 11h10->m0n0-le-14r32
06/12 01h16 java utiliser ascii java [JAVA]Utiliser le ASCII en java Développement 06/12 14h47->Wilbrod2
02/02 21h36 decodage hexa ascii 7 bits decodage de hexa a ascii 7 bits Développement 04/02 01h03->shinea2
02/04 14h16 code ascii java code ASCII en Java [urgent] Développement 05/04 08h03->OmEn32
04/11 11h33 sed supprimer codes ascii [SED]-Supprimer des codes ascii Linux/Unix 05/11 15h07->asevere23
14/08 15h21 html affichage page texte ascii [html] Problème affichage page texte ASCII Webmastering 15/08 17h05->jipicy16
Discussion fermée Problème résolu ASCII Plus de discussions sur « ASCII »

Ce document intitulé « Le code ASCII » issu de l'encyclopédie informatique Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.