36 lines
2.4 KiB
Markdown
36 lines
2.4 KiB
Markdown
# L'UTF-8 ne prend pas deux fois plus de place que l'encodage ISO-8859-15
|
|
|
|
Une idée reçue circule : passer d'ISO-8859-15 à UTF-8 doublerait la taille des fichiers texte. C'est faux. Voyons pourquoi.
|
|
|
|
## ISO-8859-15 : un octet par caractère, mais 256 caractères seulement
|
|
|
|
L'ISO-8859-15 utilise exactement **1 octet (8 bits) par caractère**. Cela lui permet de représenter 256 caractères, ce qui suffit pour couvrir les langues d'Europe occidentale (français, anglais, allemand, espagnol, etc.).
|
|
|
|
Cette compacité a un prix : l'ISO-8859-15 est incapable de représenter les caractères d'autres alphabets (cyrillique, arabe, chinois, emoji…). Pour toute application multilingue, il est inadapté.
|
|
|
|
## UTF-8 : un codage à longueur variable
|
|
|
|
L'UTF-8 utilise **de 1 à 4 octets par caractère**, ce qui lui permet de représenter plus d'un million de caractères Unicode. Sa particularité tient à son codage à longueur variable :
|
|
|
|
- **1 octet** pour les caractères ASCII (a-z, A-Z, 0-9, ponctuation de base) ;
|
|
- **2 octets** pour les caractères latins accentués (é, à, ç, ü…) et la plupart des alphabets européens ;
|
|
- **3 octets** pour la majorité des autres scripts (chinois, japonais, arabe…) ;
|
|
- **4 octets** pour les caractères rares et les emoji.
|
|
|
|
L'UTF-8 est par ailleurs **rétro-compatible avec l'ASCII** : un fichier purement ASCII a exactement la même taille en UTF-8 qu'en ISO-8859-15.
|
|
|
|
## Et concrètement, pour un texte français ?
|
|
|
|
Pour un texte en français, la grande majorité des caractères sont en ASCII (lettres non accentuées, espaces, ponctuation) et n'occupent qu'**un seul octet en UTF-8**, comme en ISO-8859-15. Seuls les caractères accentués passent à 2 octets en UTF-8.
|
|
|
|
Comme les accents représentent une faible proportion du texte, le surcoût réel est généralement **de l'ordre de quelques pourcents**, et non d'un facteur deux.
|
|
|
|
## En résumé
|
|
|
|
Non, l'UTF-8 ne prend pas deux fois plus de place que l'ISO-8859-15. Selon le contenu :
|
|
|
|
- pour du texte **ASCII pur** : taille identique ;
|
|
- pour du **français courant** : surcoût marginal (quelques %) ;
|
|
- pour des langues à scripts non latins : surcoût plus marqué, mais c'est le prix de l'universalité.
|
|
|
|
Au regard de sa capacité à représenter l'ensemble des écritures du monde, l'UTF-8 reste un excellent compromis entre compacité et flexibilité — et le standard de fait du web moderne. |