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
Anciennement 1 caractère Unités de mesure Unité 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 configurations 1 bit 2 bits 3 bits 4 bits N° configuration 1 0 0 0 1 1 0 1 1 0 00 0 01 0 10 0 11 1 00 1 01 1 10 1 11 0 000 0 001 0 010 0 011 0 100 0 101 0 110 0 111 1 000 1 001 1 010 1 011 1 100 1 101 1 110 1 111 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Sur n bits, il y a 2n configurations distinctes Arbre 1 1 1 1 1 1 1 000 001 010 011 100 101 110 111 Sur n bits, il y a 2n configurations distinctes
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 Caractères Nombres 0000 0000 0000 0001 0000 0010 0000 0000 0000 0001 0000 0010 0000 0011 1111 1100 1111 1101 1111 1110 1111 1111 a b z A B Z 1 9 Caractères Nombres
Sacs de billes O O O O O O O O O O O O O Sacs de 10 billes 2 sacs et 6 billes Base 10 : 2610 Sacs de 16 billes 1 sac et 10 billes Base 16 : 1A16 Sacs de 2 billes 1sac 1sac 0sac 1sac 0 reste 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 nombres Retour Base 2 Base 8 Base 10 Base 16 0000 0001 0001 1 0010 2 0011 3 0100 4 0101 5 0110 6 0111 7 1000 10 8 1001 11 9 1010 12 A 1011 13 B 1100 14 C 1101 15 D 1110 16 E 1111 17 F Retour
Exercices 50 peut-il être un nombre de la base 5 ? 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 Poids 27 26 25 24 23 22 21 20 Poids calculé 128 64 32 16 8 Exemple 1011 10102 128 + 32 + 16 + 8 + =18610
Conversion de B2 à B10 0000 11112 8 + 4 + 2 + =1510 Rang 7 6 5 4 3 2 1 Poids 27 26 25 24 23 22 21 20 Poids calculé 128 64 32 16 8 Exemple 0000 11112 8 + 4 + 2 + =1510
Conversion de B2 à B10 0001 00002 =1610 Rang 7 6 5 4 3 2 1 Poids 27 26 Poids 27 26 25 24 23 22 21 20 Poids calculé 128 64 32 16 8 Exemple 0001 00002 =1610
Conversion de B2 à B10 1010 10102 17010 Rang 7 6 5 4 3 2 1 Poids 27 26 Poids 27 26 25 24 23 22 21 20 Poids calculé 128 64 32 16 8 Exemple 1010 10102 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. Application Conversion du nombre 1310 en base 10 en son nombre correspondant en base 2. 13 2 1 6 3 Quotient nul 1 1 0 1 2
Conversion de B10 à B2 11 2 1 5 Quotient nul 10112
Conversion de B10 à B16 2610 16 10 1 1A16
Conversion de B10 à B16 10010 16 4 6 6416
Conversion de B10 à B16 25510 16 15 FF16
Conversion de B10 à B2 2610 2 13 1 6 3 1 10102
Conversion de B10 à B2 10010 2 50 25 1 12 6 3 110 01002
Conversion de B10 à B2 255 2 1 127 63 31 15 7 3 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 A Binaire Hexa 1010 A 1011 B 1100 C 1101 1110 E 1111 F 110 0100 6 4 1111 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 6 4 0100 0110
Stratégie B2 B10 0001 1010 1 A 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
NB = a-1 * B-1 + a-2 * B-2 + a-3 * B-3 + … + a-n * B-n Nombres à virgule Forme 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,625 =
Nombres à virgule : Conversion Pour 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 750 28 50 5 56 12 0,62510 -> 0,1012 0,37510 -> 0,0112 0,1410 -> 0,0012 retour
Chiffres <-> Configurations DCB 8-4-2-1 Code +3 Aiken 2-4-2-1 Autre config Code 5 dt 2 11000 1 00011 2 00101 3 00110 4 01001 5 01010 6 01100 7 10001 8 10010 9 10100 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 – 1 0 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 Tous les entiers ne sont pas représentés ! Retour
Exemple 12 en binaire pur 12 = 8 + 4 = 23 + 22 Quartet : 1100 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 18 = 16 + 2 = 24 + 21 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 1101 0000
Codage des nombres négatifs Configuration sur 4 bits Binaire signé Complément à 2 0 000 + 0 0 001 + 1 0 010 + 2 0 011 + 3 0 100 + 4 0 101 + 5 0 110 + 6 0 111 + 7 1 000 - 0 - 8 1 001 - 1 - 7 1 010 - 2 - 6 1 011 - 3 - 5 1 100 - 4 1 101 1 110 1 111 Binaire signé 3-3 0011 1011 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 1 x ? X 310 Exemple 2 510 510 Retour
Interprétation 1111 0000 Quel est le nombre représenté par 1111 0000 ? Il faut connaître le mode de représentation Binaire pur 27 + 26 + 25 + 24 = 128 + 64 + 32 + 16 = 240 Binaire signé -111 000 = -(26 + 25 + 24) = -(64 + 32 + 16) = -112 Complément à 2 1111 0000 est un nombre négatif 0000 1111 Complément à 1 + 1 0001 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 pur 27 + 25 + 23 + 21 = 128 + 32 + 8 + 2 = 170 Binaire signé -010 010 = -(25 + 23 + 21) = -(32 + 8 + 2 ) = -42 Complément à 2 1010 1010 est un nombre négatif 0101 0101 Complément à 1 + 1 0101 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 11 bits 52 bits 64 bits
Notation hexadécimale 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 100 0001 0 0011100 00000000 00000000 9,7510 Notation hexadécimale 41 1C 00 41 1C 00 0016 Soit en Little Endian : 00 00 1C 41 Retour
Notation hexadécimale 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 100 0001 0 1001010 00000000 00000000 12,62510 Notation hexadécimale 41 4A 00 41 4A 00 0016 Soit en Little Endian : 00 00 4A 41 Retour
Exemple Little Endian 00 DC 97 C4 Soit en Little Endian : 00 DC 97 C4 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 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 00000000 Partie entière : 100 1011 1110 soit 4 BE16 F. Canonique : 4 * 162 + 11 * 161 + 14 * 160 = 4 * 256 + 11 * 16 + 14 = 1214 Partie décimale : 0,111 = 2-1 + 2-2 + 2-3 = 0,5 + 0,25 + 0,125 = 0,875 Résultat -1214,875 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
Le Morse Retour - - - - - A . - Allo N - . Noé 1 . - - - - B - ... - - - - - 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
Code Baudot Upper Case Lower Case Retour Poids faible 1 2 3 4 5 6 7 1 2 3 4 5 6 7 fort 000 001 010 011 100 101 110 111 00 Rés 9 Esp , . 01 Interlg ) 8 : ; 10 " * ? ' / 11 - Appel ( Upper Case Poids faible 1 2 3 4 5 6 7 fort 000 001 010 011 100 101 110 111 00 Rés T O Esp H N M 01 Interlg L R G I P C V 10 E Z D B S Y F X 11 A W J U Q K Lower Case Retour
Code ISO Retour SP HT LF VT FF CR SO SI ( ) * + , . / : ; $ = & ´ Poids faible 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 00 SP HT LF VT FF CR SO SI ( ) * + , . / 01 : ; $ = & ´ 10 NUL G H I J K L M N O 11 P Q R S T U V W X Y Z [ £ ] ESC DEL Retour
Code ASCII Poids faible 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 000 NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI 001 DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US 010 SP !1 " # $ % & ' ( ) * + , . / 011 : ; < = > ? 100 @ G H I J K L M N O 101 P Q R S T U V W X Y Z [1 \ ] 1 ^1 _1 110 ` a b c d e f g h i j k l m n o 111 p q r s t u v w x y z { | } ~ DEL 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 Retour
Code EBCDIC B8 = 0 Poids Faible 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 NUL SOH STX ETX PF HT LC DEL EOM VT FF CR SO SI DLE DC1 DC2 DC3 RES NL BS IL CAN EM iFS iGS iRS iUS FS BYP LF ETB ESC SM ENQ ACK BEL SYN PN RS US EOT DC4 NAK SUB SP ç1 . < ( + |1 & ! 1 $ * ) ; 1 — / , % _1 > ? : # @ ' = " Code EBCDIC Extended Binary Coded Decimal Interchange Code, normalisé sur 8 bits. 8ème bit à 0 Suivant
Code EBCDIC B8 = 1 Poids Faible 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 b c d e f g h i j k l m n o p q r s t u v w x y z { G H I } J K L M N O P Q R \ S T U V W X Y Z Code EBCDIC Extended Binary Coded Decimal Interchange Code, normalisé sur 8 bits. 8ème bit à 1 Retour
ISO 8859-1 La norme ISO 8859-1 ou Latin-1 ou Europe Occidentale Poids faible 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 ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ La norme ISO 8859-1 ou Latin-1 ou Europe Occidentale Suivant
ISO 8859-15 ISO 8859-15 ou Latin - 9 Suivant Š š ¡ ¢ £ € ¥ § © ª « ¬ Poids faible 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 ¡ ¢ £ € ¥ Š § š © ª « ¬ ® ¯ ° ± ² ³ Ž µ ¶ · ž ¹ º » Œ œ Ÿ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ ISO 8859-15 ou Latin - 9 Suivant
CP 1252 Jeu de caractères CP1252 ou WinLatin1 Retour € ‚ ƒ „ … † ‡ ˆ ‰ Poids faible 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 € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ Jeu de caractères CP1252 ou WinLatin1 Retour
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 [1] IEC : International Electronical Commission. 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 A 4 1 Hexa 0100 0001 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 Le caractère latin A est codé sur les 7 premiers bits. En UTF-8 il tient sur 1 octet. A 4 1 Hexa 0100 0001 UTF-8
Algorithme UTF-8 é é E 9 Hexa 1110 1001 UTF-8 1100011 10101001 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 Le caractère accentué é utilise le 8ème bit. En UTF-8 il est codé sur 2 octets. é E 9 Hexa 1110 1001 UTF-8 1100011 10101001 Nb octets
Algorithme UTF-8 € € 2 A C Hexa 0010 0000 1010 1100 UTF-8 11100010 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 Le caractère accentué € utilise 14 bits. En UTF-8 il est codé sur 3 octets. € 2 A C Hexa 0010 0000 1010 1100 UTF-8 11100010 10000010 10101100 3 octets
Codage d’une page Web Retour Content-Type de l'en-tête HTTP d'un message : HTTP/1.1 200 OK Content-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