La norme Unicode
La norme Unicode est la norme universelle de codage des caractères pour les caractères écrits et le texte.
La version 4.8.1 de l'ICU et la version 6.0 de l'Unicode sont prises en charge. La norme Unicode spécifie une valeur numérique et un nom pour chacun de ses caractères. Il définit une méthode cohérente de codage des textes multilingues qui permet l'échange de données textuelles à l'échelle internationale et jette les bases d'un logiciel mondial.
La plage d'entiers utilisée pour coder les caractères s'appelle l'espace de code. Un nombre entier particulier dans cette gamme est appelé point de code. Lorsqu'un caractère est mappé ou assigné à un point de code particulier dans l'espace de code, il est appelé caractère codé.
La norme Unicode définit trois formes de codage qui permettent de stocker et de transmettre les mêmes données dans un format orienté octet, mot ou double mot (c'est-à-dire en 8, 16 ou 32 bits par unité de code). Ces trois formes de codage codent le même répertoire commun de caractères (la collection réelle de caractères) et peuvent être transformées efficacement l'une dans l'autre sans perte de données.
Les trois formes d'encodage sont les suivantes :
- L'UTF-8 stocke chaque point de code sous la forme d'une unité unique de 8 bits (les caractères ASCII), ou sous la forme de deux, trois ou quatre séquences de 8 bits.
- LUTF-16 stocke chaque point de code en utilisant soit une seule unité de 16 bits, soit deux unités de 16 bits.
- L'UTF-32 stocke chaque point de code comme une unité de 32 bits.
Les trois formes de codage nécessitent au maximum 4 octets (ou 32 bits) de données pour chaque caractère.
Les différents systèmes d'écriture varient également dans la manière dont ils gèrent la collation. Netezza Performance Server utilise la collation binaire pour déterminer l'ordre de tri, ce qui signifie que les données char et nchar sont collationnées en fonction des codes de caractères binaires