année 1980 : ASCII pur (anglais seulement)
année 1990 : ASCII étendu (chaque région le sien) nous en france Latin-1
année 2000 : UTF-8 (tout le monde, enfin compatible)

# manuel de l'ascii 7 bits
man ascii
# manuel de l'ascii etendu 8 bits (latin-1)
man iso-8859-1
# manuel de tous les caractères 
man utf8

Les codes ASCII

American
Standard
Code for
Information
Interchange

📌 Table ASCII (0-127)

Caractères de contrôle (0-31)

DécimalHexadécimalSymboleDescription
000NULNull (caractère nul)
101SOHStart of Heading
202STXStart of Text
303ETXEnd of Text
404EOTEnd of Transmission
505ENQEnquiry
606ACKAcknowledgment
707BELBell (sonnerie)
808BSBackspace
909HTHorizontal Tab
100ALFLine Feed (nouvelle ligne)
110BVTVertical Tab
120CFFForm Feed (nouvelle page)
130DCRCarriage Return (retour chariot)
140ESOShift Out
150FSIShift In
1610DLEData Link Escape
1711DC1Device Control 1
1812DC2Device Control 2
1913DC3Device Control 3
2014DC4Device Control 4
2115NAKNegative Acknowledgment
2216SYNSynchronous Idle
2317ETBEnd of Transmission Block
2418CANCancel
2519EMEnd of Medium
261ASUBSubstitute
271BESCEscape
281CFSFile Separator
291DGSGroup Separator
301ERSRecord Separator
311FUSUnit Separator

Caractères imprimables (32-127)

DécimalHexCaractèreDescription
3220Espace
3321!Point d’exclamation
3422« Guillemet double
3523#Dièse
3624$Dollar
3725%Pourcent
3826&Esperluette
3927Apostrophe
4028(Parenthèse ouvrante
4129)Parenthèse fermante
422A*Astérisque
432B+Plus
442C,Virgule
452DTrait d’union
462E.Point
472F/Barre oblique
48–5730–390–9Chiffres
583A:Deux-points
593B;Point-virgule
603C<Inférieur à
613D=Égal
623E>Supérieur à
633F?Point d’interrogation
6440@Arobase
65–9041–5AA–ZLettres majuscules
915B[Crochet ouvrant
925C\Barre oblique inverse
935D]Crochet fermant
945E^Accent circonflexe
955F_Trait de soulignement
9660`Accent grave
97–12261–7Aa–zLettres minuscules
1237B{Accolade ouvrante
1247C|Barre verticale
1257D}Accolade fermante
1267E~Tilde
1277FDELDelete (suppression)

Code ASCII Etendu

💡 À savoir

  • ASCII étendu (128–255) varie selon les pages de codes (ISO-8859, Windows-1252, etc.).
  • Aujourd’hui, Unicode (UTF-8) a largement remplacé ASCII pour supporter toutes les langues.
  • Chaque caractère ASCII occupe 7 bits (mais est souvent stocké sur 1 octet/8 bits).

Plages UTF-8 de base

Plage (hex)OctetsDescriptionExemples
U+0000 à U+007F1Identique à l’ASCIIA = 41h, 0 = 30h
U+0080 à U+07FF2Latin étendu, grec, arabe, etc.é = C3 A9, π = CF 80
U+0800 à U+FFFF3Chinois, japonais, coréen, etc. = E6 96 87, 🎨 = F0 9F 8E A8
U+10000 à U+10FFFF4Emojis, symboles spéciaux😀 = F0 9F 98 80
CaractèrePoint UnicodeSéquence UTF-8 (hex)Remarque
éU+00E9C3 A9e accent aigu (2 octets)
U+20ACE2 82 ACSymbole euro (3 octets)
U+6587E6 96 87Caractère chinois (3 octets)
🎉U+1F389F0 9F 8E 89Emoji (4 octets)
bruno@elliott:~$ echo -n "é" | od -An -tx1
c3 a9
bruno@elliott:~$ echo -n "ê" | od -An -tx1
c3 aa
bruno@elliott:~$ echo -n "è" | od -An -tx1
c3 a8
bruno@elliott:~$ echo -n "@" | od -An -tx1
40
bruno@elliott:~$ echo -n "A" | od -An -tx1
41
bruno@elliott:~$ echo -n "a" | od -An -tx1
61

UTF-8 et Latin-1

# En UTF-8 (défaut)
echo -n "é" | od -tx1
# Sortie : c3 a9

# En ISO-8859-1 (Latin-1)
echo -n "é" | iconv -f UTF-8 -t ISO-8859-1 | od -tx1
# Sortie : e9

ASCII ETENDU

Latin-1 fait partie d’une famille :

  • ISO-8859-1 : Europe occidentale (Latin-1)
  • ISO-8859-2 : Europe centrale
  • ISO-8859-5 : Cyrillique
  • ISO-8859-6 : Arabe
  • ISO-8859-7 : Grec
  • ISO-8859-15 : Latin-9 (remplace Latin-1, ajoute le symbole €)

ASCII ETENDU LATIN-1

Hex | 0   1   2   3   4   5   6   7   8   9   A   B   C   D   E   F
----|----------------------------------------------------------------
0x0 | NUL SOH STX ETX EOT ENQ ACK BEL BS  HT  LF  VT  FF  CR  SO  SI 
0x1 | DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM  SUB ESC FS  GS  RS  US 
0x2 | SP  !   "   #   $   %   &   '   (   )   *   +   ,   -   .   / 
0x3 | 0   1   2   3   4   5   6   7   8   9   :   ;   <   =   >   ? 
0x4 | @   A   B   C   D   E   F   G   H   I   J   K   L   M   N   O 
0x5 | P   Q   R   S   T   U   V   W   X   Y   Z   [   \   ]   ^   _ 
0x6 | `   a   b   c   d   e   f   g   h   i   j   k   l   m   n   o 
0x7 | p   q   r   s   t   u   v   w   x   y   z   {   |   }   ~   DEL
0x8 | PAD HOP BPH NBH IND NEL SSA ESA HTS HTJ VTS PLD PLU RI  SS2 SS3
0x9 | DCS PU1 PU2 STS CCH MW  SPA EPA   -  -  -  -  -  -  -  -  - 
0xA | -   ¡   ¢   £   ¤   ¥   ¦   §   ¨   ©   ª   «   ¬   ®   ¯   -
0xB | °   ±   ²   ³   ´   µ   ¶   ·   ¸   ¹   º   »   ¼   ½   ¾   ¿
0xC | À   Á   Â   Ã   Ä   Å   Æ   Ç   È   É   Ê   Ë   Ì   Í   Î   Ï
0xD | Ð   Ñ   Ò   Ó   Ô   Õ   Ö   ×   Ø   Ù   Ú   Û   Ü   Ý   Þ   ß
0xE | à   á   â   ã   ä   å   æ   ç   è   é   ê   ë   ì   í   î   ï
0xF | ð   ñ   ò   ó   ô   õ   ö   ÷   ø   ù   ú   û   ü   ý   þ   ÿ

Conversion

on dispose de iconv sous linux .

iconv -f ISO-8859-1 -t UTF-8 source.txt -o utf8.txt