Nature et utilisation des variables

Les textes dans la mmoire de l'ordinateur

L'ordinateur n'est capable de stocker que des valeurs numriques 0 ou 1. En groupant des 0 et des 1, il est possible de coder des nombres entiers ou rels de toutes sortes.

Mais cela ne nous dit pas comment l'ordinateur est capable de stocker des textes.

Les caractres

Codes secretsLa mmoire de l'ordinateur conserve toutes les donnes sous forme numrique. Il n'existe pas de mthode pour stocker directement les caractres.

Il a donc fallu trouver une nouvelle convention qui permette de stocker ces caractres.

Nous avons tous jou crire des messages secrets dans lesquels les lettres des mots sont remplacs par des nombres. C'est le mme principe qui a t utilis.

La convention ASCII

ASCII... A skis!! Ha ha, trs drle...Chaque caractre possde un quivalent en code numrique: c'est le code ASCII (American Standard Code for Information Interchange - traduisez "Code Americain Standard pour l'Echange d'Informations", prononcez "A ski").

Dans la convention ASCII, les caractres dont le code est infrieur 32 sont particuliers; on y trouve, par exemple, Escape -27, Retour Arrire (back space)-8, etc. Les codes partir de 32 (SP pour "space") reprsentent les diffrents signes utilisables.

Ils sont prsents dans le tableau ci-dessous.

code 0 1 2 3 4 5 6 7 8 9
0 NUL SOH STX ETX EOT ENQ ACK BEL BS HT
10 LF VT NP CR SO SI DLE DC1 DC2 DC3
20 DC4 NAK SYN ETB CAN EM SUB ESC FS GS
30 RS US SP ! " # $ % & '
40 ( ) * + , - . / 0 1
50 2 3 4 5 6 7 8 9 : ;
60 < = > ? @ A B C D E
70 F G H I J K L M N O
80 P Q R S T U V W X Y
90 Z [ \ ] ^ _ ` a b c
100 d e f G h i j k l m
110 n o p q r s t u v w
120 x y z { | } ~ DEL

Le code ASCII de base reprsentait les caractres sur 7 bits (c'est--dire 128 caractres possibles, de 0 127). Le code ASCII a t mis au point pour la langue anglaise, il ne contient donc pas les caractres accentus, ni de caractres spcifiques une autre langue (, , ,...). Pour coder ce type de caractres, il faut recourir un autre encodage.

Le code ASCII a donc t tendu 8 bits (un octet) pour pouvoir coder plus de caractres (on parle d'ailleurs de code ASCII tendu...).

Ce code attribue les codes 128 255 (donc codes sur 8 bits, soit 1 octet) des signes et lettres supplmentaires, dont les caractres accentus du franais et d'autres langues.

Tiens, une petite question en passant. Les chinois ne seraient-ils pas un peu l'troit avec 256 caractres possibles?

C'est effectivement un gros problme: la convention ASCII n'est adapte qu' l'alphabet occidental. Il a fallu trouver autre chose pour ceux, et ils sont nombreux, qui emploient d'autres systmes.

La convention Unicode

Le code ASCII (mme tendu) est totalement insuffisant pour coder tous les caractres possibles, dans toutes les langues possibles.

Il faut donc se rsoudre utiliser plus d'un octet pour coder un caractre.

La convention Unicode utilise 8 bits (reprenant donc l'ASCII tendu avec 256 caractres), 16 bits (2 octets et donc 65535 caractres cods), voire 32 bits (4 octets et donc plus de 4 milliards de caractres) dans chacune des trois variantes UTF (Unicode Transformation Format ): UTF-8, UTF-16 et UTF-32.

Et donc, il va falloir apprendre par coeur les 4 milliards de codes de l'UTF-32? J'ai comme un doute, l.

Pas de panique. La convention UTF-8 nous suffira dans la plupart des applications qui ne doivent pas tre prvues pour les rgions du monde utilisant d'autres systmes d'criture.
En plus, l'intrt de retenir les 256 codes par coeur est plus que limit.

Bon, je suis un peu rassur. N'empche, jusque l, je comprends donc comment l'ordinateur peut stocker une lettre. Mais si je voulais lui faire avaler l'intgrale d'Honor de Balzac?

Trs simple: pour un ordinateur, un texte sera simplement considr comme une suite de caractres. On dira encore une chane de caractres.

Les chanes de caractres

Pour stocker des mots ou des phrases dans la mmoire de l'ordinateur, il suffit d'assembler un certain nombre de caractres.

On appelle gnralement chane de caractres un ensemble de caractres qui constitue des mots ou des phrases.

U N O C T E T
85 78 32 79 67 84 69 84

Une chane de caractres est donc forme d'un ensemble d'octets accols. Chaque octet reprsente un caractre.

Une chane de caractres forme de 10 signes occupera donc 10octets en mmoire centrale.

On imagine bien toute la posie qui se dgage d'un texte cod en UTF-8.

On utilise rarement l'UTF-32 pour crire un texte rdig en franais, parce que:
ce n'est pas ncessaire
cette convention ne prvoit pas les caractres accentus
cette convention ne convient pas au franais
Comment crit-on "UNE POESIE" en ASCII?
85 / 78 / 69 / 80 / 79 / 69 / 83 / 73 / 69
85 / 78 / 69 / 32 / 80 / 79 / 69 / 83 / 73 / 69
85 / 110 / 101 / 32 / 112 / 111 / 101 / 115 / 105 / 101

Quand tu es capable d'expliquer pourquoi et comment des textes peuvent tre cods dans la mmoire de l'ordinateur, passe la page suivante.


Dernière modification 18/08/2016 Test dans /info ...