Codage de linformation. Deux grandes catégories Codage des nombresdes caractères Fin.

Post on 03-Apr-2015

110 views 4 download

Transcript of Codage de linformation. Deux grandes catégories Codage des nombresdes caractères Fin.

Codage de l’information

Deux grandes catégories

Codage

des nombres des caractères

Fin

Codage des nombres 1/2

• Présentation du binaire

• Systèmes de numération

• Conversion d’un nombre de la base p à la base q

• Nombres à virgule

• Codage des chiffres et des nombres

Suivant Retour

Unités de mesureUnité Puissance de 2 Octets Ordre Support de stockage (2005)

1 quartet 22 bits

1 octet 23 bits Anciennement 1 caractère

1 Kibioctet 210 octets 1024 octets ~103

1 Mébioctet 220 octets 1 048 576 octets ~106 Disquette : 1,44 Mio Mémoire centrale : 256 Mio

CD-ROM : 655 Mio

1 Gibioctet 230 octets 1 073 741 824 octets ~109 DVD : 4,7  Gio Disque dur : 80 Gio

1 Tebioctet 240 octets 1 099 511 627 776 octets ~1012

1 Pebioctet 250 octets 1 125 899 906 842 624 octets ~1015

Nombre de configurations1 bit 2 bits 3 bits 4 bits N° configuration

01

0 00 11 01 1

0 000 010 100 111 001 011 101 11

0 0000 0010 0100 0110 1000 1010 1100 1111 0001 0011 0101 0111 1001 1011 1101 111

12345678910111213141516

Arbre

0 1

1

1 01

10

00 0

0

11

Sur n bits, il y a 2n configurations distinctes

000 001 010 011 100 101 110 111

Nombre de configurations

 Nombre de bits Nombre de configurations

4 24 = 16

5 25=32

6 26 = 64

7 27 = 128

8 28 = 256

16 216 = 65536

Pour représenter N symboles, il faut au moins b bits où2b-1 < N  2b

Retour

Notion de code

ab

zAB

Z01

9

0000 00000000 00010000 00100000 0011

1111 11001111 11011111 11101111 1111

CaractèresNombres

Sacs de billes

O O O O O O O O O O O O O

O O O O O O O O O O O O O

Sacs de 10 billes 2 sacs et 6 billes

Sacs de 16 billes 1 sac et 10 billes

Sacs de 2 billes 1sac 1sac 0sac 1sac 0 reste

Base 10 : 2610

Base 16 : 1A16

Base 2 : 110102

Système de numération

• Système décimal ou Base 10

• 10 symboles : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

• 123 = 1 * 100 + 2 * 10 + 3

• = 1 * 102 + 2 * 101 + 3 * 100

Système de numération

• Système binaire ou Base 2

• 2 symboles : 0, 1

• 1011 = 1 * 23 + 0 * 22 + 1 * 21 + 1 * 20

Système de numération

• Système octal ou Base 8

• 8 symboles : 0, 1, 2, 3, 4, 5, 6, 7

• 123 = 1 * 82 + 2 * 81 + 3 * 80

Système de numération

• Système hexadécimal ou Base 16

• 16 symboles : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,plus six symboles ajoutés A, B, C, D, E, F

• 1AB = 1 * 162 + A * 161 + B * 160

Système de numération

• Base B

• B symboles : x, y, z

• Pour former un nombre, on juxtapose les symboles de cette base.

• On attribue un poids à chaque symbole en fonction de la position occupée dans le nombre

• xyx = x * B2 + y * B1 + x * B0

Forme canonique d’un nombre

NB= an * Bn + an-1 * Bn-1 + an-2 * Bn-2…a2 * B2 + a1 * B1 + a0 * B0

La représentation conventionnelle NB est obtenue en juxtaposant chaque symbole dans l'ordre :

NB = an an-1 an-2 …a2 a1 a0 où ai représente un symbole en base B.

Interprétations d’un nombre

• 11012 =

• 11018 =

• 110110 =

• 110116 =

1 * 23 + 1 * 22 + 0 * 21 + 1 * 20

1 * 83 + 1 * 82 + 0 * 81 + 1 * 80

1 * 103 + 1 * 102 + 0 * 101 + 1 * 100

1 * 163 + 1 * 162 + 0 * 161 + 1 * 160

888 =

8810 =

8816 =

8 n’est pas un symbole de la base 8

8 * 101 + 8 * 100

8 * 161 + 8 * 160

Les 16 premiers nombresBase 2 Base 8 Base 10 Base 16

0000 0 0 0

0001 1 1 1

0010 2 2 2

0011 3 3 3

0100 4 4 4

0101 5 5 5

0110 6 6 6

0111 7 7 7

1000 10 8 8

1001 11 9 9

1010 12 10 A

1011 13 11 B

1100 14 12 C

1101 15 13 D

1110 16 14 E

1111 17 15 F

Retour

Exercices• 50 peut-il être un nombre de la base 5 ?• 50 peut-il être un nombre de la base 8 ?• Forme canonique : 5 * 81 + 0 * 80

• 77 peut-il être un nombre de la base 8 ?• Forme canonique : 7 * 81 + 7 * 80

• FF peut-il être un nombre de la base 16 ?• Forme canonique : F * 161 + F * 160

• Écrire le 17ème nombre • en base 2• 100012

• en base 8 • 218

• en base 16 • 1116

Conversion de B2 à B10

Pour passer de la base 2 à la base 10, il faut appliquer • la forme canonique, • exprimer tous les symboles de la base 2 ainsi que 2 en base 10, • puis calculer en base 10.

Rang 7 6 5 4 3 2 1 0  

Poids 27 26 25 24 23 22 21 20  

Poids calculé 128 64 32 16 8 4 2 1  

 

Exemple 

1011 10102 1 0 1 1 1 0 1 0  

128 + 32 + 16 + 8 + 2 =18610

Conversion de B2 à B10

Rang 7 6 5 4 3 2 1 0  

Poids 27 26 25 24 23 22 21 20

 

Poids calculé 128 64 32 16 8 4 2 1 

 

Exemple

 

0000 11112 0 0 0 0 1 1 1 1  

8 + 4 + 2 + 1 =1510

Conversion de B2 à B10

Rang 7 6 5 4 3 2 1 0  

Poids 27 26 25 24 23 22 21 20

 

Poids calculé 128 64 32 16 8 4 2 1 

 

Exemple

 

0001 00002 0 0 0 1 0 0 0 0  

16 =1610

Conversion de B2 à B10

Rang 7 6 5 4 3 2 1 0  

Poids 27 26 25 24 23 22 21 20

 

Poids calculé 128 64 32 16 8 4 2 1 

 

Exemple

 

1010 10102 1 0 1 0 1 0 1 0  

128 32 8 2 17010

Conversion de B10 à B2

Méthode des divisions successives : Pour convertir un nombre N10 de la base 10 en

un nombre N2 en base 2, il faut diviser le nombre N10 puis ses quotients successifs

Qi par la base 2 jusqu’à l’obtention du quotient nul, convertir les restes en base 2 et

inverser leur ordre.

ApplicationConversion du nombre 1310 en base 10 en son nombre correspondant en base 2.

132

1 6 2

0 3 2

1 1 2

1 0 Quotient nul

1 1 0 1 2

Conversion de B10 à B2

112

1 5 2

1 2 2

0 1 2

1 0 Quotient nul

10112

Conversion de B10 à B16

2610 16

10 1 16

1 0

1A16

Conversion de B10 à B16

10010 16

4 6 16

6 0

6416

Conversion de B10 à B16

25510 16

15 15 16

15 0

FF16

Conversion de B10 à B2

2610 2

0 13 2

1 6 2

0 3 2

1 1 2

1 0

1 10102

Conversion de B10 à B2

10010 2

0 50 2

0 25 2

1 12 2

0 6 2

0 3 2

1 1 2

1 0

110 01002

Conversion de B10 à B2

255 2

1 127 2

1 63 2

1 31 2

1 15 2

1 7 2

1 3 2

1 1 2

1 0

1111 11112

Conversion entre B2 et B16

0001 1010

1 A

Regroupement par 4 : Pour passer de la base 2 à la base 16, il suffit de regrouper les bits par 4 et de traduire chaque groupe en son symbole correspondant dans la base 16.

Dégroupement par 4 : Pour passer de la base 16 à la base 2, il suffit de traduire chaque symbole de la base 16 à sa configuration correspondante sur 4 bits en base 2.

retour

Conversion de B2 à B16

1 1010

1 A

Binaire Hexa

1010 A

1011 B

1100 C

1101 D

1110 E

1111 F

110 0100

6 4

1111 1111

F F

Conversion de B16 à B2

Binaire Hexa

1010 A

1011 B

1100 C

1101 D

1110 E

1111 F

6 4

0110 0100

A B

1010 1011

5 E

0101 1110

Stratégie

• B10 B2

• Passer de B10 à B16 par divisions successives

• puis de B16 à B2 par dégroupement

10010 16

4 6 16

6 0

6 4

0100 0110

Stratégie

• B2 B10

• Passer de B2 à B16 par regroupement

• puis de B16 à B10 par application de la forme canonique

0001 1010

1 A

1A16 = 1 * 161 + 10 * 160

= 16 + 10

= 2610

Nombres à virguleForme canonique définissant la partie décimale

NB = a-1 * B-1 + a-2 * B-2 + a-3 * B-3 + … + a-n * B-n

Exemple en binaire 0,1012 = 1 * 21 + 0* 22 + 1 * 23

Rang 1 2 3 4 5

Poids 21 22 23 24 25

Poids calculé 0,5 0,25 0,125 0,0625 0,03125

Exemple 1 0 1 0 0

0,625 = 0,5 0,125

Nombres à virgule : ConversionPour convertir en base 2, la partie fractionnaire d'un nombre en base 10, il faut multiplier les parties fractionnaires successives par 2 et conserver la partie entière, jusqu'à ce que la précision suffisante soit obtenue ou que la partie fractionnaire soit à zéro.

Exemples

625 375 14

1 250 0 750 0 28

0 50 1 5 0 56

1 0 1 0 1 12

0,62510 -> 0,1012 0,37510 -> 0,0112 0,1410 -> 0,0012

retour

Chiffres <-> ConfigurationsConfigurations DCB

8-4-2-1Code +3 Aiken

2-4-2-1 Aiken 2-4-2-1

Autre configCode 5 dt 2

0 0 0 0 0 0 11000

0 0 0 1 1 1 00011

0 0 1 0 2 2 00101

0 0 1 1 3 0 3 00110

0 1 0 0 4 1 4 01001

0 1 0 1 5 2 5 01010

0 1 1 0 6 3 6 01100

0 1 1 1 7 4 7 10001

1 0 0 0 8 5 2 10010

1 0 0 1 9 6 3 10100

1 0 1 0 7 4

1 0 1 1 8 5

1 1 0 0 9 6

1 1 0 1 7

1 1 1 0 8

1 1 1 1 9

Retour

Codage des nombres 2/2

• Codage en binaire pur

• Codage en binaire complément à 2

• Représentation des nombres réels

Retour

Codage en binaire pur

Les entiers naturels sont codés en binaire pur. Cela signifie que le nombre en base 10 est converti en base 2 et que le signe n'est pas représenté.

Sur b bits, il y a 2b configurations disponibles.

La simple précision correspond à des entiers codés sur 2 octets, soit 16 bits. 0 n 216 – 10 n 65 535

La double précision,correspond à des entiers codés sur 4 octets, soit 32 bits. 0 n 232 – 1

0 n 4 294 967 295

Retour

Tous les entiers ne sont pas représentés !

Exemple 12 en binaire pur

• Représenter 12 sur un quartet, un octet, 2 octets

12 = 8 + 4 = 23 + 22

Quartet : 1100

Octet : 0000 1100

Deux octets : 0000 0000 0000 1100

Exemple 18 en binaire pur

• Représenter 18 sur un quartet, un octet, 2 octets

18 = 16 + 2 = 24 + 21

Cet entier a besoin de 5 bits

Quartet : ?

Octet : 0001 0010

Deux octets : 0000 0000 0001 0010

Amplitude de la représentation

• Représenter 66000 sur 2 octets• 216-1 = 65 535 < 66 000• 66 000 nécessite le 17ème bit• Entier double : 4 octets : • 66 000 = 65 536 + 256 + 128 + 64 + 16

= 216 + 28 + 27 + 26 + 24

0000 0000 0000 0001 0000 0001 1101 0000

Codage des nombres négatifsConfiguration

sur 4 bitsBinaire signé Complément à 2

0 000 + 0 + 0

0 001 + 1 + 1

0 010 + 2 + 2

0 011 + 3 + 3

0 100 + 4 + 4

0 101 + 5 + 5

0 110 + 6 + 6

0 111 + 7 + 7

1 000 - 0 - 8

1 001 - 1 - 7

1 010 - 2 - 6

1 011 - 3 - 5

1 100 - 4 - 4

1 101 - 5 - 3

1 110 - 6 - 2

1 111 - 7 - 1

Binaire signé

3-3

00111011

1110

soit -6 !!!

Complément à 2

3-3

0011

1101

1 0000

soit 0

Construction du complément à 2

• Codification : la somme d’un nombre et son opposé x + (-x) = 0

• Soit x un nombre en base 2 sur 4 bits

• Soit X le nombre obtenu à partir de x en échangeant les 0 et les 1

• Par construction : x + X = 1111

• 1111 est le précédent de 1 0000 soit 24

• 1111 est 24 – 1

• Donc x + X = 24 -1

• Donc –x = X - 24 + 1

• Or 24 correspond à 1 0000 qui utilise 5 bits alors que la configuration est limitée à 4 bits.

• -x = X + 1

• X est appelé complément à 1. Il est obtenu en échangeant les 0 et les 1.

• -x est appelé complément à 2. Il est obtenu en ajoutant 1 au complément à 1

Codage en complément à 2

x = (X + 1) mod 24

X est appelé complément à 1. Il est obtenu en échangeant les 0 et les 1.-x est appelé complément à 2 de x. Il est obtenu en ajoutant 1 au complément à 1.

Exemple 1 x 310 0 0 1 1 x ? 1 1 0 1

X 1 1 0 0 X 0 0 1 0

x 310 1 1 0 1 x 310 0 0 1 1

Exemple 2 x 510 0 1 0 1 x ? 1 0 1 1

X 1 0 1 0 X 0 1 0 0

x 510 1 0 1 1 x 510 0 1 0 1

Retour

Interprétation 1111 0000

• Quel est le nombre représenté par 1111 0000 ?• Il faut connaître le mode de représentation• Binaire pur27 + 26 + 25 + 24 = 128 + 64 + 32 + 16 = 240• Binaire signé -111 000 = -(26 + 25 + 24) = -(64 + 32 + 16) = -112 • Complément à 21111 0000 est un nombre négatif0000 1111 Complément à 1+ 10001 0000 soit 24 donc c’est -16

Interprétation 1010 1010

• Quel est le nombre représenté par 1010 1010 ?• Il faut connaître le mode de représentation• Binaire pur27 + 25 + 23 + 21 = 128 + 32 + 8 + 2 = 170• Binaire signé -010 010 = -(25 + 23 + 21) = -(32 + 8 + 2 ) = -42 • Complément à 21010 1010 est un nombre négatif0101 0101 Complément à 1+ 10101 0110 soit 26 + 24 + 22 + 21donc c’est -85

Représentation des réels

Les nombres réels sont représentés en notation scientifique. Le nombre est écrit sous forme normalisée : signe S, mantisse 1 M < B, base B et exposant E : S . M . BE Exemple 9,7510 = 0000 1001,112 Soit 1,00111 23

12,62510= 0000 1100,1012 Soit 1,100101 23

Dans la norme IEEE 754, aussi appelée Little Endian, le nombre réel est codé sur quatre octets, soit 32 bits, en simple précision ou sur 8 octets double précision.

Type réel Signe Exposant Mantisse Total

Simple précision 1 bit 8 bits 23 bits 32 bits

Double précision 1 bit 11 bits 52 bits 64 bits

Exemple du réel 9,75• 9,7510 -> 1001,112 Conversion en base 2 soit • Normalisation 1,00111 23

• Signe : 0 • Mantisse : 00111 à compléter sur 23 bits• Exposant : 3 + 127 = 130 = 128 + 2 = 27 + 21 soit 1000 00102

Type réel Sg Exposant Mantisse Nombre réel

Simple précision 0 100 0001 0 0011100 00000000 00000000

9,7510

Notation hexadécimale

41 1C 00 00 41 1C 00 0016

Soit en Little Endian : 00 00 1C 41

Retour

Exemple du réel 12,625• 12,62510 -> 1100,1012 Conversion en base 2 soit • Normalisation 1,100101 23

• Signe : 0 • Mantisse : 100101 à compléter sur 23 bits• Exposant : 3 + 127 = 130 = 128 + 2 = 27 + 21 soit 1000 00102

Type réel Sg Exposant Mantisse Nombre réel

Simple précision 0 100 0001 0 1001010 00000000 00000000

12,62510

Notation hexadécimale

41 4A 00 00 41 4A 00 0016

Soit en Little Endian : 00 00 4A 41

Retour

Exemple Little Endian 00 DC 97 C4

• Signe : 1 signe négatif • Exposant 1000 10012 = 27 + 23 + 20 = 128 + 8 + 1 = 137

Retrait de 127 de l’exposant : 137 – 127 = 10• Mantisse Rajouter l’unité 1,0010111 11011100 00000000 * 210

Soit 1 0010111 110,11100 00000000Partie entière : 100 1011 1110 soit 4 BE16 F. Canonique : 4 * 162 + 11 * 161 + 14 * 160

= 4 * 256 + 11 * 16 + 14 = 1214Partie décimale : 0,111 = 2-1 + 2-2 + 2-3 = 0,5 + 0,25 + 0,125 = 0,875

• Résultat -1214,875

Type réel Sg Exposant Mantisse Nombre réel

Simple précision 1 100 0100 1 0010111 11011100 00000000

-1214,87510

Notation hexadécimale

C4 97 DC 00 C4 97 DC 0016

Soit en Little Endian : 00 DC 97 C4

Retour

Codage des caractères 1/2

• Notion de code

• Le Morse

• Le code Baudot

• Le code ISO à 6 bits

• Le code ASCII

• Le code EBCDIC

Suivant Retour

Codage des caractères 2/2

• Les normes ISO 8859-N

• Unicode

• Les algorithmes UTF

• Codage d’une page Web

Retour

0 - - - - - A . - Allo N - . Noé

1 . - - - - B - ... Bonaparte O - - - Ostrogoth

2 . . - - - C - . - . Coca-Cola P . - - . Psychologie

3 . . . - - D - .. Docile Q - - . - Quoquoriquo

4 . . . . - E . Et R . - . Ramoneur

5 . . . . . F .. - . Farandole S ... Salade

6 - . . . . G - - . Gondole T - Thon

7 - - . . . H .... Hilarité U .. - Ultrason

8 - - - . . I .. Ici V ... - Valparaiso

9 - - - - . J . - - - Jiromoto W . - - Wagon-Post

K - . - Kohinor X - .. - Xrocadéro

L . - .. Limonade Y - . - - Yolimoto

M - - Moto Z - - .. Zoroastre

Retour

Le Morse

Poids faible 0 1 2 3 4 5 6 7

fort 000 001 010 011 100 101 110 111

0 00 Rés 5 9 Esp Rés , .

1 01 Interlg ) 4 Rés 8 0 : ;

2 10 3 " * ? ' 6 Rés /

3 11 - 2 Appel 7 1 (

Poids faible 0 1 2 3 4 5 6 7

fort 000 001 010 011 100 101 110 111

0 00 Rés T O Esp H N M

1 01 Interlg L R G I P C V

2 10 E Z D B S Y F X

3 11 A W J U Q K

Upper Case

Lower Case

Retour

Code Baudot

Poids faible 0 1 2 3 4 5 6 7 8 9 A B C D E F

fort 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

0 00 SP HT LF VT FF CR SO SI ( ) * + , . /

1 01 0 1 2 3 4 5 6 7 8 9 : ; $ = & ´

2 10 NUL A B C D E F G H I J K L M N O

3 11 P Q R S T U V W X Y Z [ £ ] ESC DEL

Retour

Code ISO

Poids faible 0 1 2 3 4 5 6 7 8 9 A B C D E F

fort 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

0 000 NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI

1 001 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US

2 010 SP !1 " # $ % & ' ( ) * + , . /

3 011 0 1 2 3 4 5 6 7 8 9 : ; < = > ?

4 100 @ A B C D E F G H I J K L M N O

5 101 P Q R S T U V W X Y Z [1 \ ] 1 ^1 _1

6 110 ` a b c d e f g h i j k l m n o

7 111 p q r s t u v w x y z { | } ~ DEL

Retour

Code ASCII

Rechercher le code du 0 et du 9, en binaire, en hexadécimal et en décimal

Rechercher le code du A et du Z en binaire, en hexadécimal et en décimal

Idem pour a et z

Code EBCDIC Extended Binary Coded Decimal Interchange Code, normalisé sur 8 bits. 8ème bit à 0

Poids Faible 0 1 2 3 4 5 6 7 8 9 A B C D E F

fort 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

0 0000 NUL SOH STX ETX PF HT LC DEL EOM VT FF CR SO SI

1 0001 DLE DC1 DC2 DC3 RES NL BS IL CAN EM iFS iGS iRS iUS

2 0010 FS BYP LF ETB ESC SM ENQ ACK BEL

3 0011 SYN PN RS US EOT DC4 NAK SUB

4 0100 SP ç1 . < ( + |1

5 0101 & ! 1 $ * ) ; 1

6 0110 — / , % _1 > ?

7 0111 : # @ ' = "

Suivant

Code EBCDIC B8 = 0

Code EBCDIC Extended Binary Coded Decimal Interchange Code, normalisé sur 8 bits. 8ème bit à 1

Poids Faible 0 1 2 3 4 5 6 7 8 9 A B C D E F

fort 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

8 1000 a b c d e f g h i

9 1001 j k l m n o p q r

A 1010 s t u v w x y z

B 1011

C 1100 { A B C D E F G H I

D 1101 } J K L M N O P Q R

E 1110 \ S T U V W X Y Z

F 1111 0 1 2 3 4 5 6 7 8 9

Retour

Code EBCDIC B8 = 1

La norme ISO 8859-1 ou Latin-1 ou Europe Occidentale

Poids faible 0 1 2 3 4 5 6 7 8 9 A B C D E F

fort 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

A 1010

¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ® ¯

B 1011

° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿

C 1100

À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï

D 1101

Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß

E 1110

à á â ã ä å æ ç è é ê ë ì í î ï

F 1111

ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ

Suivant

ISO 8859-1

ISO 8859-15 ou Latin - 9

Poids faible 0 1 2 3 4 5 6 7 8 9 A B C D E F

fort 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

A 1010 ¡ ¢ £ € ¥ Š § š © ª « ¬ ® ¯

B 1011 ° ± ² ³ Ž µ ¶ · ž ¹ º » Œ œ Ÿ ¿

C 1100 À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï

D 1101 Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß

E 1110 à á â ã ä å æ ç è é ê ë ì í î ï

F 1111 ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ

Suivant

ISO 8859-15

Jeu de caractères CP1252 ou WinLatin1

Poids faible 0 1 2 3 4 5 6 7 8 9 A B C D E F

fort 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

8 1000 € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž

9 1001 ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ

A 1010

¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ® ¯

B 1011

° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿

C 1100

À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï

D 1101

Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß

E 1110

à á â ã ä å æ ç è é ê ë ì í î ï

F 1111

ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ

Retour

CP 1252

Unicode

• Chaque caractère est codé sur 2 octets.

• Unicode offre 65 536 configurations– Les symboles de toutes les langues peuvent

être représentés.– Les caractères des langues latines sont

représentées sur 2 octets au lieu d’un seul, => taille des fichiers est doublée

Retour

L’algorithme UTF-8

codage UTF-8

0vvvvvvv 1 octet codant 1 à 7 bits

110vvvvv 10vvvvvv 2 octets codant 8 à 11 bits

1110vvvv 10vvvvvv 10vvvvvv 3 octets codant 12 à 16 bits

11110vvv 10vvvvvv 10vvvvvv 10vvvvvv 4 octets codant 17 à 21 bits

Les algorithmes UTF, Unicode Transformation Format, décrivent des ruses pour réduire à un octet, le codage d’un caractère Unicode qui s’exprime normalement sur 2 octets.

Retour

Algorithme UTF-8 A

codage UTF-8

0vvvvvvv 1 octet codant 1 à 7 bits

110vvvvv 10vvvvvv 2 octets codant 8 à 11 bits

1110vvvv 10vvvvvv 10vvvvvv 3 octets codant 12 à 16 bits

11110vvv 10vvvvvv 10vvvvvv 10vvvvvv 4 octets codant 17 à 21 bits

A 4 1

Hexa 0100 0001

UTF-8 0100 0001

Le caractère latin A est codé sur les 7 premiers bits. En UTF-8 il tient sur 1 octet.

Algorithme UTF-8 é

codage UTF-8

0vvvvvvv 1 octet codant 1 à 7 bits

110vvvvv 10vvvvvv 2 octets codant 8 à 11 bits

1110vvvv 10vvvvvv 10vvvvvv 3 octets codant 12 à 16 bits

11110vvv 10vvvvvv 10vvvvvv 10vvvvvv 4 octets codant 17 à 21 bits

é E 9

Hexa 1110 1001

UTF-8 1100011 10101001

Le caractère accentué é utilise le 8ème bit. En UTF-8 il est codé sur 2 octets.

Nb octets

Algorithme UTF-8 €

codage UTF-8

0vvvvvvv 1 octet codant 1 à 7 bits

110vvvvv 10vvvvvv 2 octets codant 8 à 11 bits

1110vvvv 10vvvvvv 10vvvvvv 3 octets codant 12 à 16 bits

11110vvv 10vvvvvv 10vvvvvv 10vvvvvv 4 octets codant 17 à 21 bits

€ 2 0 A C

Hexa 0010 0000 1010 1100

Le caractère accentué € utilise 14 bits. En UTF-8 il est codé sur 3 octets.

UTF-8 11100010 10000010 10101100

3 octets

Codage d’une page WebContent-Type de l'en-tête HTTP d'un message :HTTP/1.1 200 OKContent-Length: …Content-Type: text/html; charset:ISO-8859-1;Server: …Content-Location: …Date: …Last-Modified: …

Métabalise d’un document HTML :<head><meta http-equiv= "Content-Type" content="text/html; charset=iso8859-1"></head>

Retour

FIN

C’est tout pour aujourd’hui

Mes remerciements pour votre participation