L'encodage des caractères Flashcards

1
Q

Qu’est-ce que l’ASCII?

A

-Tout a commencé avec l’ASCII (American Standard Code for Information Interchange).
L’ASCII est une norme informatique de codage des caractères apparue dans les années 1960.
-Ce codage est dérivé des codages utilisés en télégraphie. A cette époque la bande passante
est faible, la qualité de transmission aléatoire. Sur les 8 bits destinés à coder une information,
7 bits sont utilisés pour les données et 1 bit pour la parité.
-La table des 128 caractères est divisée en 4 groupes de 32 :
- Des caractères de contrôle, pour la plupart obsolètes,
- Les chiffres et la plupart des signes de ponctuation,
- Les majuscules,
- Les minuscules.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Quelles sont les limitations de l’ASCII?

A
  • De nombreux caractères de contrôle inutilisés
  • Se limite à l’alphabet latin sans accent
  • Codé sur 7 bits, donc facilement extensible.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Qu’est-ce que l’ASCII étendu?

A

Avec les possibilités du codage ASCII, il est donc impossible de composer et d’afficher certains
caractères et des accents. Les langues d’Europe occidentale deviennent impossible à rendre
sur un écran avec seulement la norme ASCII 7 bits.
De plus, tous les alphabets (autre que le latin) ne sont pas gérés par l’ASCII.
La solution : Le progrès des technologies (le bit de parité n’étant plus nécessaire) permet
d’utiliser le huitième bit de l’octet.
Chaque langue se voit donc dotée d’une extension de la norme ASCII pour coder son
alphabet.
Pour coder sur 8 bits les accents des langues européennes occidentales, voici les deux
encodages principalement apparus :
- « ISO-8859-1 », appelé également « latin-1 » ou « Europe occidentale ».
(191 caractères – apparu en 1986)
- « Windows-1252 », appelé également « CP1252 » ou « ANSI ».
(218 caractères – s’est développé au début des années 1990 – Comprend notamment en plus
du précédent jeu de caractères, le signe €)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Qu’est-ce que l’Unicode?

A

Entre les langues qui ne pouvaient pas s’écrire dans une norme ISO ou propriétaire et celles
qui se perdaient dans des conflits de formats, sans parler de l’impossibilité de fichiers
multilingues, il y avait un besoin fort d’un standard universel comme ASCII pour permettre les
échanges numériques.
Ce besoin est notamment rempli par « Unicode » et « ISO-10646 » dont les standard sont
identiques depuis 1993.
L’Unicode est publié par l’Unicode Consortium, organisation à but non lucratif qui a pour
membres : Adobe, Apple, Google, HP, IBM, Microsoft, Oracle, Sun, Verisign, Yahoo, …
Au vu des différents participants, l’Unicode peut être un standard largement diffusé.
Unicode fournit donc un standard unique pour représenter une immense majorité des
alphabets actuels et anciens.
Les caractères sont codés sur 21 bits. (Notation : U+xxxxxx)
Le codage Unicode est divisé en 17 plans de 2 16 caractères.
Le premier (U+0000 à U+FFFF) est appelé « Basic Multilingual Plane » (BMP).
En français, il s’agit du plan multilingue de base, qui comprend la plupart des langues
modernes et un certain nombre de symboles. Il est amplement suffisant pour les
communications internationales standard.
De nombreux autres codages existants ont été repris tels quels. On obtient donc un certain
nombre de caractères ayant la même représentation graphique (glyphe).
Unicode introduit une différence entre le caractère et sa représentation graphique.
Unicode est pour l’instant codé sur 21 bits. Seulement les ordinateurs raisonnent plutôt en
multiples de 8 bits (1 octet). Il faut donc transformer le code Unicode en quelque chose de
plus utilisable.
Il existe 5 standards supportés par l’Unicode Consortium ou par l’ISO :
- UTF-8 (tout encodé sur des unités de 8 bits)
- UTF-16 (tout est encodé sur des unités de 16 bits)
- UCS-2 (le « BMP » encodé sur 16 bits)
- UTF-32=UCS-4 (tout encodé sur 32 bits)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Qu’est ce que l’UTF-8?

A

Pour coder l’ensemble des caractères en unicode on avait donc
besoin de 21 bits (soit 3 octets, puisque l’ordinateur raisonne par groupe de 8 bits).
De ce fait l’utilisation pur et simple de ce jeu de caractères multiplierait par 4, la taille des
documents. En effet, l’ASCII étendu est codé sur 1 seul octet (8 bits).
L’encodage UTF-8 est né de ce problème et est d’ailleurs utilisé par 87,6% des sites web en
2016.
Les caractères ASCII (utilisés majoritairement) vont être codés sur 1 octets. Les autres
caractères spéciaux vont être codés sur 2, 3 ou 4 octets. De ce fait la taille des documents ne
sera augmenté que de quelques pourcents, mais pas quadruplé.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Comment se fait le code en UTF-8?

A

-0xxxxxxx
Si le 0 de poids fort (le plus à gauche) est en première position, utf-8 comprend que le caractère est
codé sur les 7 bits suivants. Il s’agit des caractères de la table ASCI de base. Le premier bit est en
quelque sorte un bit « technique ».
-110xxxxx 10xxxxxx
Si le 0 de poids fort est en 3ème position, le caractère est codé sur 2 octets.
-1110xxxx 10xxxxxx 10xxxxxx
Si le 0 de poids fort est en 4ème position, le caractère est codé sur 3 octets.
-11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
Si le 0 de poids fort est en 5ème position, le caractère est codé sur 4 octets.
-En résumé, les bits de poids fort du premier octet forment une suite de 1 de longueur égale au
nombre d’octets utilisés pour coder le caractère. Les octets suivants ont 10 comme bits de poids fort.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Quels sont les codages par défaut selon les systèmes d’exploitation?

A
  • Linux : UTF-8 est utilisé par défaut dans la plupart des distributions récentes
  • Windows : UTF-8 est supporté depuis Windows 2000
  • Mac : Depuis OS X, UTF-8 NFD est utilisé pour les noms de fichiers. Les fichiers de
    configuration (.plist) sont en UTF-16. Le reste est au choix du client (Mac OS Roman par
    défaut dans TextEdit si on tape du Français, Iso-8859-1 dans le terminal, etc…)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly