Différence entre UCS-2 et UTF-16

UCS-2 ou UTF-16

UCS-2 et UTF-16 sont deux schémas d’encodage de caractères qui utilisent 2 octets, qui se compose de 16 bits, pour représenter chaque caractère; d’où les suffixes 2 et 16. La principale différence entre UCS-2 et UTF-16 est la différence entre UCS-2 et UTF-16. La NGC-2 est un système plus ancien qui a depuis été considéré comme désuet et remplacé par le beaucoup plus récent et plus puissant UTF-16.

UCS-2 est un codage à 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 un peu plus de 65 mille. D’autre part, UTF-16 est un système de codage à largeur variable qui utilise un minimum de 2 octets et un maximum de 4 octets pour chaque caractère. Cela permet à 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 et plus, les UCS-2 et UTF-16 ont des points de code identiques; ils sont donc largement équivalents. Ceci permet aux applications UTF-16 d’interpréter correctement les codes UCS-2. Mais l’inverse ne fonctionnerait pas en raison des nombreuses améliorations apportées à l’UTF-16.

L’une de ces améliorations est la possibilité de représenter des scripts qui vont de droite à gauche plutôt que de gauche à droite. Dans UTF-16, les scripts peuvent identifier la directionalité, ce qui permet à l’application de rendre correctement les mots stockés dans le code. La NGC-2 n’ a pas cette capacité donc ne fonctionnera pas avec des écritures 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 qui sont représentés différemment comme identiques. Par exemple, les mots « ne peut pas » et « ne peut pas » sont identiques puisque le second n’est qu’une contraction du premier. C’est très important, surtout lorsque vous recherchez de tels mots, car cela permettrait d’obtenir 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é seule.

Il n’ y a vraiment aucune raison de choisir UCS-2 plutôt que UTF-16, à part d’avoir une application vous n’avez pas besoin de supporter UTF-16. Dans tous les aspects, l’UTF-16 est supérieur à l’UCS-2. Il est également largement rétrocompatible, vous n’avez donc pas à vous soucier des fichiers encodés en UCS-2.

Les idées Clis

  • UCS-2 est obsolète et a été remplacé par UTF-16
  • UCS-2 est un schéma de codage à largeur fixe tandis que UTF-16 est un schéma de codage à largeur variable.
  • Les applications compatibles UTF-16 peuvent lire les fichiers UCS-2 mais pas l’inverse
  • UTF-16 prend en charge le droit de laisser des scripts alors que UCS-2 ne prend pas en charge
  • UTF-16 prend en charge la normalisation tandis que UCS-2 ne prend pas en charge
  • Une question ? Nous avons oublié quelque chose ? n'hésitez pas à participer aux commentaires. Nous compléterons cet article avec plaisir.

    Laisser un commentaire

    Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *