Différences entre les versions de « Programmation/Abstraction »

Aller à la navigation Aller à la recherche
(→‎Représentation des données : développements divers)
==== L'Unicode (ISO 10646) ====
 
L'Unicode définit actuellement plus de {{formatnum:120000}} caractères en utilisant jusqu'à 31 bits pour chacun.
L'Unicode définit actuellement plus de {{formatnum:120000}} caractères en utilisant jusqu'à 31 bits pour chacun. Il renferme également un mécanisme de plages qui adapte le nombre de bits nécessaires pour chaque caractère en fonction de sa nature. Il existe 6 plages, la première occupant 1 octet, la dernière en utilisant 6. La première plage se reconnait à ce que le premier bit de l'octet est positionné à 0, les 7 bits suivants respectent la norme ascii. Un caractère unicode de cette plage est donc de la forme 0xxxxxxx et se trouve entièrement compatible avec un système ascii. Les plages suivantes se reconnaissant à ce que le bit de poids fort de chaque octet est positionné à 1, les bits de poids fort du premier octet permettent de connaître la plage (110xxxxx pour la plage à deux octets, 1110xxxx pour celle à 3, 11110xxx pour 4, 111110xx pour 5 et 1111110x pour 6), et les deux bits de poids fort des octets suivant sont systématiquement positionnés à 10 afin d'indiquer leur appartenance à une suite d'octets unicode. Un caractère de la deuxième plage est donc de la forme suivante : 110xxxxx 10xxxxxx ; et propose donc 11 bits utiles, ce qui permet <math>2^{11}=2048</math> caractères différents.
 
L'UTF-8 (Unicode définitTransformation actuellementFormat plus- de8 {{formatnum:120000}}bits) caractèrespermet en utilisant jusqud'àencoder 31les bitscaractères pourpar chacun.groupe Ilde renferme8 égalementbits (un mécanismeoctet). de plages qui adapte leLe nombre de bits nécessairesemployé pour chaque caractère enest fonction de sason naturenuméro. Il existe 6 plages, la première occupant 1 octet, la dernière en utilisant 6. La première plage se reconnaitreconnaît à ce que le premier bit de l'octet est positionné à 0, les 7 bits suivants respectent la norme asciiASCII. Un caractère unicodeUnicode de cette plage est donc de la forme 0xxxxxxx et se trouve entièrement compatible avec un système asciiASCII. Les plages suivantes se reconnaissant à ce que le bit de poids fort de chaque octet est positionné à 1, les bits de poids fort du premier octet permettent de connaître la plage (110xxxxx pour la plage à deux octets, 1110xxxx pour celle à 3, 11110xxx pour 4, 111110xx pour 5 et 1111110x pour 6), et les deux bits de poids fort des octets suivant sont systématiquement positionnés à 10 afin d'indiquer leur appartenance à une suite d'octets unicodeUnicode. Un caractère de la deuxième plage est donc de la forme suivante : 110xxxxx 10xxxxxx ; et propose donc 11 bits utiles, ce qui permet <math>2^{11}=2048</math> caractères différents.
 
{| class="wikitable"

Menu de navigation