Référence HTML Unicode (UTF-8)


Le consortium Unicode

Le consortium Unicode développe la norme Unicode. Leur objectif est de remplacer les jeux de caractères existants par son format de transformation Unicode standard (UTF).

Le standard Unicode est devenu un succès et est implémenté en HTML, XML, Java, JavaScript, E-mail, ASP, PHP, etc. Le standard Unicode est également supporté par de nombreux systèmes d'exploitation et tous les navigateurs modernes.

Le consortium Unicode coopère avec les principales organisations de développement de normes, telles que l'ISO, le W3C et l'ECMA.


Les jeux de caractères Unicode

Unicode peut être implémenté par différents jeux de caractères. Les encodages les plus couramment utilisés sont UTF-8 et UTF-16 :

Character-set Description
UTF-8 A character in UTF8 can be from 1 to 4 bytes long. UTF-8 can represent any character in the Unicode standard. UTF-8 is backwards compatible with ASCII. UTF-8 is the preferred encoding for e-mail and web pages
UTF-16 16-bit Unicode Transformation Format is a variable-length character encoding for Unicode, capable of encoding the entire Unicode repertoire. UTF-16 is used in major operating systems and environments, like Microsoft Windows, Java and .NET.

Conseil : Les 128 premiers caractères d'Unicode (qui correspondent un à un avec l'ASCII) sont codés à l'aide d'un seul octet avec la même valeur binaire que l'ASCII, ce qui rend également le texte ASCII valide en Unicode encodé en UTF-8.

HTML 4 prend en charge UTF-8. HTML 5 prend en charge UTF-8 et UTF-16 !


La norme HTML5 : Unicode UTF-8

Étant donné que les jeux de caractères dans ISO-8859 étaient de taille limitée et non compatibles dans les environnements multilingues, le consortium Unicode a développé la norme Unicode.

La norme Unicode couvre (presque) tous les caractères, ponctuations et symboles du monde.

Unicode permet le traitement, le stockage et le transport de texte indépendamment de la plate-forme et de la langue.

L'encodage de caractères par défaut dans HTML-5 est UTF-8.

Si une page Web HTML5 utilise un jeu de caractères différent de UTF-8, il doit être spécifié dans la balise <meta> comme :

Exemple

<meta charset="ISO-8859-1">


La différence entre Unicode et UTF-8

Unicode est un jeu de caractères . UTF-8 encode .

Unicode est une liste de caractères avec des nombres décimaux uniques (points de code). A = 65, B = 66, C = 67, ....

Cette liste de nombres décimaux représente la chaîne "hello": 104 101 108 108 111

L'encodage est la manière dont ces nombres sont traduits en nombres binaires pour être stockés dans un ordinateur :

L'encodage UTF-8 stockera "hello" comme ceci (binaire): 01101000 01100101 01101100 01101100 01101111

L'encodage traduit les nombres en binaire. Les jeux de caractères traduisent les caractères en nombres.


Codes de caractères HTML5 UTF-8

Vous trouverez ci-dessous une liste de certains des codes de caractères UTF-8 pris en charge par HTML5 :

Character codes Decimal Hexadecimal
C0 Controls and Basic Latin 0-127 0000-007F
C1 Controls and Latin-1 Supplement 128-255 0080-00FF
Latin Extended-A 256-383 0100-017F
Latin Extended-B 384-591 0180-024F
Spacing Modifiers 688-767 02B0-02FF
Diacritical Marks 768-879 0300-036F
Greek and Coptic 880-1023 0370-03FF
Cyrillic Basic 1024-1279 0400-04FF
Cyrillic Supplement 1280-1327 0500-052F
General Punctuation 8192-8303 2000-206F
Currency Symbols 8352-8399 20A0-20CF
Letterlike Symbols 8448-8527 2100-214F
Arrows 8592-8703 2190-21FF
Mathematical Operators 8704-8959 2200-22FF
Box Drawings 9472-9599 2500-257F
Block Elements 9600-9631 2580-259F
Geometric Shapes 9632-9727 25A0-25FF
Miscellaneous Symbols 9728-9983 2600-26FF
Dingbats 9984-10175 2700-27BF