2010-11-29 29 views
0

Dans quelles circonstances recommanderiez-vous d'utiliser UTF-8? Y a-t-il une alternative qui servira le même but?UTF-8 utilisations et alternatives

UTF-8 est utilisé pour i18n?

+0

Je me demande pourquoi la question obtient -2? – DarthVader

+1

Peut-être à cause de la deuxième question? "UTF-8 est utilisé pour i18n?". Ce n'est pas très clair ce que vous voulez dire par là. –

Répondre

2

Depuis que vous avez marqué cela avec la conception web, je suppose que vous devez optimiser la taille du code pour être aussi petit que possible pour transférer des fichiers rapidement.

Les alternatives à UTF-8 seraient les autres codages Unicode, car il n'y a pas d'alternative à l'utilisation d'Unicode (pour les systèmes informatiques ordinaires au moins). Si vous regardez comment UTF-8 est spécifié, vous verrez que tous les points de code jusqu'à U + 007F nécessiteront un octet, et les points de code jusqu'à U + 07FF nécessiteront deux octets, jusqu'à U + FFFF trois et quatre octets pour les points de code jusqu'à U + 10FFFF. Pour l'UTF-16, vous aurez besoin de deux octets jusqu'à U + FFFF (la plupart du temps), et de quatre octets pour des valeurs allant jusqu'à U + 10FFFF. Pour UTF-32, vous avez besoin de quatre octets pour tous les points Unicode. En d'autres termes, les scripts qui se trouvent sous U + 07FF auront une certaine taille avantage d'utiliser UTF-8 par rapport à UTF-16, tandis que les scripts ci-dessus auront une certaine pénalité de taille. Cependant, comme le domaine est un design web, il peut être intéressant de noter que tous les caractères de contrôle se situent dans la plage d'un octet de UTF-8, ce qui est moins vrai pour les textes avec beaucoup de HTML et Javascript. à la quantité de "texte" réel. Les scripts sous U + 07FF incluent le latin (sauf certaines extensions telles que les marques de ton), le grec, le cyrillique, l'hébreu et probablement un peu plus. Wikipedia a une assez bonne couverture sur les problèmes Unicode, et sur le Unicode Consortium vous pouvez obtenir encore plus de détails.

-3

utilisez utf-8 pour les langues latines. utf-16 pour toutes les autres langues.

+0

mais UTF-16 n'est pas rétrocompatible avec l'ASCII. – DarthVader

+3

UTF-8 supporte parfaitement tous les autres langages. Vous confondez probablement avec ISO-8859. La seule différence est que UTF-16 a une largeur de 4 octets tandis que UTF-8 a une largeur d'octet variable (et consomme donc moins d'octets). – BalusC

+0

@ user177883, alors vous auriez dû dire que c'était une contrainte dans la question. –

0

Utilisez UTF-8 jusqu'au bout. .

+1

unicode tout le chemin que je serais d'accord, pas nécessairement utf8 cependant. –

0

Puisque vous demandez des recommandations, je vous recommande de l'utiliser en toutes circonstances. Tout le temps, c'est-à-dire pour les fichiers HTML et les ressources textuelles. Pour l'application en anglais seulement, cela ne change rien, mais quand vous devez le localiser, avoir UTF-8 en premier serait un avantage (vous n'aurez pas besoin de revoir votre code et de le changer; une source de défauts de moins).

Comme pour les autres codages de la famille Unicode (comme en particulier UTF-16), je ne recommanderais pas de les utiliser pour une application web. Bien que la consommation de bande passante puisse être plus élevée pour les caractères chinois (au moins trois octets tout le temps), vous éviterez les problèmes de transmission et d'interprétation du navigateur (oui, je sais qu'en théorie, tout devrait fonctionner a tendance à se briser).