Un code passe-partout
Sauter Menu de l'activité |
Un octet pour mettre l'accentAvertissement Cette partie du chapitre est un peu plus difficile. Accrochez-vous. Ce que vous apprendrez ici peut vous être très utile par la suite. Si vous avez des difficultés, n'hésitez pas à demander de l'aide. Le huitième bitDans les pays d'Europe, particulièrement, les alphabets incluent de nombreux caractères accentués, problème auquel les américains ne se sont pas intéressés. Comment s'en est-on sorti pour coder ces nouveaux caractères ? Pour sauver la situation, il a fallu faire appel à un huitième bit. Notez que, pour des raisons techniques, les ordinateurs travaillaient déjà par paquets de huit bits, le huitième bit n'étant pas utilisé ou utilisé à d'autres fins. Il était donc disponible. L'usage de huit bits a permis de doubler le nombre de combinaisons possibles.
On passe ainsi de 128 à 256 combinaisons. Plus qu'il n'en faut pour coder les caractères spéciaux ? Pas sûr, comme nous le verrons plus loin. Mais dans un premier temps, le passage à huit bits a autorisé le codage des caractères accentués d'un alphabet donné (celui des langues latines, par exemple). Le code ISO-8859-1L'ASCII huit bits est encore appelé ASCII étendu. Les 128 caractères supplémentaires constituent donc une extension variable selon les langues, les pays dans lesquels elle est utilisée. Le code ISO-8859-1, encore appelé Latin-1, et toujours assez répandu sur le Web, tente de remettre de l'ordre dans les différentes extensions adoptées dans les pays d'Europe de l'ouest. On le trouve dans le tableau suivant (à quelques différences près comme le caractère €, par exemple). Le voici, présenté en 16 lignes de 16 caractères. Lignes et colonnes sont désignées par les chiffres de 0 à 9, puis par les lettres de A à F. ![]() Prenons juste un exemple : le caractère é (e accent aigu) se trouve en E9. E9 est la valeur du code dans le système à 16 symboles (de 0 à F) : le système hexadécimal. Si nous voulons connaître sa valeur en décimal, nous devons numéroter toutes les cases à partir de la première en commençant par 0. On pourrait vérifier que le caractère é se trouve dans la case numéro 233. La dernière case du tableau correspond au code FF qui équivaut donc en décimal à 255. Retenez ces points de repère. Ils pourront vous servir dans le module consacré aux images et au codage des couleurs de celles-ci. Pour le seul caractère é, voici donc un petit tableau qui reprend les valeurs pour les deux codes évoqués.
Observez à nouveau le tableau du code ISO-8859-1. Quel est le code hexadécimal du caractère à (a accent grave) ? Et ceux du ê (e accent circonflexe) ?
L'octet, une unité de mesureL'ensemble des huit bits nécessaires au codage d'un caractère porte le nom d'octet. Toutes les capacités des différents types de mémoires sont exprimées en octets (o), kilo-octets (Ko ou mille octets), méga-octets (Mo soit un million d'octets) ou Giga-octets (Go soit un milliard d'octets). Certaines mémoires gigantesques sont même évaluées en Tera-octets (To soit un billion d'octets). En anglais, octet se dit byte. Les unités de capacité sont donc KB, MB, GB… L'illustration ci-dessous montre que ces unités sont parfois utilisées avec les deux écritures. ![]() En réalité, le coefficient multiplicateur n'est pas exactement de 1.000 comme dans le système décimal, mais de 1.024 qui est une puissance de 2 (binaire) et non de 10. La capacité exacte correspondant à 1Ko est donc de 1.024 octets. On peut définir l'octet comme la place qu'occupe un caractère dans une mémoire électronique. Si on estime qu'une page imprimée bien remplie compte environ 2.000 caractères, à un livre de combien de pages équivaut approximativement une mémoire centrale de 2Go ? ![]() 2Go = 2.000.000.000 octets (deux milliards) correspondent à environ 1.000.000 de pages. Si on considère qu'en moyenne, un livre fait 200 pages, la capacité de cette mémoire centrale (très courante en 2010) est d'environ 5.000 livres, ce qui constitue déjà une belle bibliothèque. |