Différence entre UCS-2 et UTF-16

Différence entre UCS-2 et UTF-16

UCS-2 vs UTF-16

Les UCS-2 et UTF-16 sont deux schémas de codage de caractères qui utilisent 2 octets, qui se compose de 16 bits, pour représenter chaque caractère; Ainsi les 2 et 16 suffixes. La principale différence entre UCS-2 et UTF-16 est laquelle est utilisée aujourd'hui. UCS-2 est un schéma plus ancien qui a depuis été considéré comme obsolète et remplacé par l'UTF-16 beaucoup plus récent et plus puissant.

UCS-2 est un codage de largeur fixe qui utilise deux octets pour chaque caractère; ce qui signifie qu'il peut représenter jusqu'à un total de 216 caractères ou légèrement plus de 65 mille. D'un autre côté, UTF-16 est un schéma de codage de largeur variable qui utilise un minimum de 2 octets et un maximum de 4 octets pour chaque caractère. Cela permet à l'UTF-16 de représenter n'importe quel caractère dans Unicode tout en utilisant un espace minimal pour les caractères les plus couramment utilisés. Pour la majorité des 65 000 caractères+, UCS-2 et UTF-16 ont des points de code identiques; Ils sont donc largement équivalents. Cela permet aux applications capables de l'UTF-16 pour interpréter correctement les codes UCS-2. Mais l'inverse ne fonctionnerait pas en raison des nombreuses améliorations de l'UTF-16.

L'une desdites améliorations est la capacité de représenter les scripts qui vont de droite à gauche plutôt que de gauche à droite. Dans UTF-16, les scripts peuvent identifier la directionnalité, permettant ainsi à l'application de rendre correctement les mots stockés dans le code. UCS-2 n'a pas cette capacité, donc ne fonctionnera pas avec des scripts comme l'arabe et l'hébreu, qui se déplacent de droite à gauche. Une autre caractéristique de l'UTF-16 est la normalisation. La normalisation traite les mots qui signifient la même chose mais sont représentés différemment comme identiques. Par exemple, les mots «ne peuvent pas» et «ne peuvent» pas identiques car le second n'est qu'une contraction de la première. Ceci est très important, surtout lorsque vous recherchez de tels mots, car cela permettrait un résultat de recherche plus complet. Dans UCS-2, cela ne se produit pas automatiquement, donc l'application doit implémenter une telle fonctionnalité par elle-même.

Il n'y a vraiment aucune raison de choisir UCS-2 sur UTF-16, en plus d'avoir une application, vous n'avez pas besoin de prendre en charge UTF-16. Dans tous les aspects, l'UTF-16 est supérieur à l'UCS-2. Il est également largement compatible en arrière, vous n'avez donc pas à vous soucier des fichiers codés dans UCS-2.

Résumé:

  1. UCS-2 est obsolète et a depuis été remplacé par UTF-16
  2. UCS-2 est un schéma de codage de largeur fixe tandis que l'UTF-16 est un schéma de codage de largeur variable
  3. Les applications capables de l'UTF-16 peuvent lire les fichiers UCS-2 mais pas l'inverse
  4. UTF-16 prend en charge le droit de laisser les scripts tandis que UCS-2 ne fait pas
  5. UTF-16 prend en charge la normalisation alors que UCS-2 ne