CCSID - CCSID
Un CCSID ( identificateur de jeu de caractères codés ) est un nombre de 16 bits qui représente un codage particulier d'une page de codes spécifique . Par exemple, Unicode est une page de code qui a plusieurs formes d'encodage (appelées "transformation"), comme UTF-8 , UTF-16 et UTF-32 , mais qui peuvent ou non être accompagnées d'un numéro CCSID pour indiquer que cet encodage est utilisé.
Différence entre une page de codes et un CCSID
Les termes page de codes et CCSID sont souvent utilisés de manière interchangeable, même s'ils ne sont pas synonymes. Une page de codes peut n'être qu'une partie de ce qui constitue un CCSID. Les définitions suivantes d'IBM aident à illustrer ce point :
- Un glyphe est le motif physique réel de pixels ou d'encre qui apparaît sur un écran ou une impression.
- Un caractère est un concept qui couvre tous les glyphes associés à un certain symbole. Par exemple, " F ", " F ", " F ", " F ", " F " et " F " sont tous des glyphes différents, mais utilisent le même caractère. Les divers modificateurs (gras, italique, souligné, couleur et police) ne modifient pas la F essentielle du F.
- Un jeu de caractères contient les caractères nécessaires pour permettre à un humain particulier d'avoir une interaction significative avec l'ordinateur. Il ne précise pas comment ces caractères sont représentés dans un ordinateur. Ce niveau est le premier à séparer les caractères en divers alphabets (latin, arabe, hébreu, cyrillique, etc.) ou groupes idéographiques (par exemple, chinois, coréen). Il correspond à un "répertoire de caractères" dans le modèle d'encodage Unicode .
- Une page de codes représente une affectation particulière de valeurs de points de code à des caractères. Il correspond à un "jeu de caractères codés" dans le modèle de codage Unicode. Un point de code pour un caractère est la représentation interne de ce caractère par l'ordinateur dans une page de codes donnée. De nombreux caractères sont représentés par différents points de code dans différentes pages de codes. Certains jeux de caractères peuvent être correctement représentés avec des pages de codes à un octet (qui ont un maximum de 256 points de code, donc un maximum de 256 caractères), mais beaucoup nécessitent plus que cela. Les exemples incluent JIS X 0208 et Unicode .
- Un schéma de codage est le format d'octet d'une page de codes. Il mappe les valeurs de point de code à des séquences d'un ou plusieurs octets dans un ordinateur. Par exemple, UTF-8 et UTF-16BE sont deux encodages de la même page de codes Unicode. (Variant uniquement dans le nombre d'octets nécessaires pour représenter une valeur de caractère Unicode particulière, comment elle est contenue dans ces octets et comment la présence d'informations Unicode est indiquée.) Pendant ce temps, dans l'architecture de représentation des données de caractères (CDRA) d'IBM, c'est généralement représenté par un ESID (identifiant de schéma de codage). EUC et ISO-2022 sont d'autres exemples de schémas de codage.
- Un identificateur de jeu de caractères codés ( CCSID ) contient toutes les informations nécessaires pour attribuer et préserver la signification et le rendu des caractères à travers diverses étapes de traitement et d'échange. Ces informations comprennent toujours au moins une page de codes, mais peuvent inclure plusieurs pages de codes de longueurs d'octets différentes. Le CCSID a également un schéma de codage associé qui régit la manière dont les divers points de code doivent être traités. Ce mécanisme permet à un programme de reconnaître l' orientation bidirectionnelle , la mise en forme des caractères (principalement des caractères arabes) et d'autres informations de codage complexes.
Exemples
Les exemples suivants montrent comment certains CCSID sont constitués d'autres CCSID.
Jeu de caractères | Page de codes | CCSID | Schéma de codage |
---|---|---|---|
01122 | 00897 | 897 | SBCS |
00370 | 00301 | 301 | DBCS |
Jeu de caractères | Page de codes | CCSID | Schéma de codage |
---|---|---|---|
01172 | 01041 | 1041 | SBCS |
00370 | 00301 | 301 | DBCS |
Jeu de caractères | Page de codes | CCSID | Schéma de codage |
---|---|---|---|
01170 | 00897 | 4993 | SBCS |
00370 | 00301 | 301 | DBCS |
Ces trois variantes de CCSID Shift-JIS sont des jeux de caractères multi-octets (MBCS) : la partie jeu de caractères mono-octet (SBCS) de chaque CCSID est différente. La partie jeu de caractères codés sur deux octets (DBCS) est la même dans chaque CCSID. Le CCSID 5028 utilise une page de codes mise à jour 897 appelée CCSID 4993. Le CCSID 932 utilise la page de codes d'origine 897, qui est le CCSID 897. Le CCSID 942 utilise un SBCS différent des deux autres CCSID, qui est 1041.
Notez également comment les CCSID 5028 et 4993 sont différents de 4096 (1000 en hexadécimal) du prédécesseur CCSID avec le même identifiant de page de codes. C'est une manière courante pour CDRA de désigner un CCSID mis à niveau.
Il y a plusieurs raisons à cette complexité :
- De nombreux CCSID sont utilisés dans les bases de données IBM, comme DB2 , où un champ de base de données ne prend en charge qu'une chaîne SBCS, DBCS ou MBCS. Les CCSID permettent aux programmes de différencier celui qui est utilisé.
- Lorsque des caractères sont ajoutés ou remplacés, comme l'introduction du signe de l'euro, on peut savoir si les chaînes stockées prennent en charge ou non ces ajouts de caractères car un CCSID différent est utilisé. Cette gestion des versions est importante pour l'intégrité des données.
- Il permet la réutilisation de ressources parmi des CCSID similaires.
Les références
Liens externes
- Glossaire IBM CDRA (architecture de représentation de données de caractères)
- Terminologie de la mondialisation d'IBM
- Description complète d'IBM CDRA . (Cela inclut une description plus détaillée de l'architecture entourant les CCSID.)
- La liste complète des CCSID d'IBM et divers autres identifiants associés
- Liste des CCSID pris en charge sur l'ordinateur IBM System i