Pour cette période de congés, nous allons aborder un sujet qui peut sembler banal mais qui souvent engendre de nombreuses confusions chez les utilisateurs, les informaticiens et même parfois les programmeurs.

Il s’agit des types de données. Pour des raisons de taille et de lisibilité, les données sont gérées et conservées avec des formats spécifiques. Ainsi « HELLO », « 2226.456 » ou « 29 Juillet 2017 » ne seront pas conservés comme autant de lettres et de chiffres.

Cela répond à des conventions, mais comme d’habitude avec les normes, elles sont multiples et évolutives.

Donc, pour commencer par le plus simple : le texte.

 

Un simple texte !

Déjà là, tout ne s’est pas fait en un jour : l’informatique est née dans les pays anglo-saxons, à l’alphabet simple ( A-Z ). La première norme de stockage, qui fut appelée l’ASCII, stockait les caractères sur 7 bits ( soit 128 possibilités) – largement de quoi stocker 10 chiffres, 26 lettres minuscules, 26 majuscules – la ponctuation et quelques caractères de contrôle ( saut de ligne, espace, tabulation, parenthèse, arobase etc.).

Mais dès que les pays européens, avec leurs jeux d’accents furent concernés, il fallu penser plus large. L’ASCII passa à 8 bits, un groupe de travail créa l’UNICODE, l’ANSI publia son jeu de caractères et l’ISO se lança dans une formalisation globale pour traiter toutes les variantes possibles .

 

Quatre « compétiteurs » sur le même sujet et une demi-réponse !

Mais bien vite, on se rendit compte que certains langages nécessiteraient plus que les 256 possibilités offertes par les 8 bits ou 16 bits utilisés.

Et surtout, utiliser un nombre potentiellement infini de codage implique de savoir reconnaitre quel jeu utiliser. Quand un programme gère ses propres données il ne se pose pas le problème, mais dès qu’il est impliqué dans des échanges, il a besoin de maitriser celui qu’il reçoit et de documenter ce qu’il émet.

Dès lors, les choses devinrent plus complexes. Utiliser 16 ou même 32 bits pour stocker un caractère avait un impact important pour les programmeurs qui doivent prendre en compte le paramètre.

 

Quelles conséquences ?

Et bien c’est simple : il n’y a plus de « texte » sous quelque forme que ce soit ! Le plus banal échange, de quelques lignes de texte d’une carte de visite électronique ou d’un rendez-vous numérique, nécessite de décrire complètement le jeu de caractères utilisé pour être compréhensible par un tiers.  

En clair si votre ordinateur reçoit la suite numérique 66 79 78 74 79 85 81 (qu’un ordinateur des années 80 aurait immédiatement compris comme « BONJOUR »), et que je ne vous indique pas quel code j’utilise, vous ne saurez jamais si je vous ai dit « BONJOUR » ou   雨 ( « Aujourd’hui il pleut » en japonais ), ou toute autre phrase dans un code page de caractères quelconque.

Allez , bonnes vacances à tous , la prochaine fois , on passera à plus difficile : les nombres !

 

Olivier Piochaud, Président Directeur Général d’Apsynet

Newsletter

Categories: Développement & Web