CCSID - CCSID

Un CCSID ( identificador de juego de caracteres codificado ) es un número de 16 bits que representa una codificación particular de una página de códigos específica . Por ejemplo, Unicode es una página de códigos que tiene varias formas de codificación (las llamadas "transformación"), como UTF-8 , UTF-16 y UTF-32 , pero que pueden ir acompañadas o no de un número CCSID para indicar que se está utilizando esta codificación.

Diferencia entre una página de códigos y un CCSID

Los términos página de códigos y CCSID a menudo se usan indistintamente, aunque no son sinónimos. Una página de códigos puede ser solo una parte de lo que constituye un CCSID. Las siguientes definiciones de IBM ayudan a ilustrar este punto:

  • Un glifo es el patrón físico real de píxeles o tinta que aparece en una pantalla o impresión.
  • Un carácter es un concepto que cubre todos los glifos asociados con un determinado símbolo. Por ejemplo, "F", " F ", " F ", " F ", " F " y " F " son glifos diferentes, pero usan el mismo carácter. Los diversos modificadores (negrita, cursiva, subrayado, color y fuente) no cambian la F esencial.
  • Un conjunto de caracteres contiene los caracteres necesarios para permitir que un ser humano en particular lleve a cabo una interacción significativa con la computadora. No especifica cómo se representan esos personajes en una computadora. Este nivel es el primero en separar caracteres en varios alfabetos (latín, árabe, hebreo, cirílico, etc.) o grupos ideográficos (por ejemplo, chino, coreano). Corresponde a un "repertorio de caracteres" en el modelo de codificación Unicode .
  • Una página de códigos representa una asignación particular de valores de puntos de código a caracteres. Corresponde a un "juego de caracteres codificados" en el modelo de codificación Unicode. Un punto de código para un carácter es la representación interna de ese carácter en la computadora en una página de códigos determinada. Muchos caracteres están representados por diferentes puntos de código en diferentes páginas de códigos. Ciertos conjuntos de caracteres se pueden representar adecuadamente con páginas de códigos de un solo byte (que tienen un máximo de 256 puntos de código, por lo tanto, un máximo de 256 caracteres), pero muchos requieren más que eso. Los ejemplos incluyen JIS X 0208 y Unicode .
  • Un esquema de codificación es el formato de bytes de una página de códigos. Asigna valores de puntos de código a secuencias de uno o más valores de bytes en una computadora. Por ejemplo, UTF-8 y UTF-16BE son dos codificaciones de la misma página de códigos Unicode. (Variando solo en cuántos bytes se necesitan para representar un valor de carácter Unicode particular, cómo está contenido dentro de esos bytes y cómo se indica la presencia de información Unicode). Mientras tanto, en la arquitectura de representación de datos de caracteres (CDRA) de IBM, esto es típicamente representado con un ESID (identificador de esquema de codificación). EUC e ISO-2022 son otros ejemplos de esquemas de codificación.
  • Un identificador de juego de caracteres codificado ( CCSID ) contiene toda la información necesaria para asignar y preservar el significado y la interpretación de los caracteres a través de varias etapas de procesamiento e intercambio. Esta información siempre incluye al menos una página de códigos, pero puede incluir varias páginas de códigos de diferentes longitudes de bytes. El CCSID también tiene un esquema de codificación asociado que gobierna cómo se manejarán varios puntos de código. Este mecanismo permite que un programa reconozca la orientación bidireccional , la formación de caracteres (principalmente de caracteres árabes) y otra información de codificación compleja.

Ejemplos de

Los siguientes ejemplos muestran cómo algunos CCSID se componen de otros CCSID.

CCSID 932
Conjunto de caracteres Página de código CCSID Esquema de codificación
01122 00897 897 SBCS
00370 00301 301 DBCS
CCSID 942
Conjunto de caracteres Página de código CCSID Esquema de codificación
01172 01041 1041 SBCS
00370 00301 301 DBCS
CCSID 5028
Conjunto de caracteres Página de código CCSID Esquema de codificación
01170 00897 4993 SBCS
00370 00301 301 DBCS

Los tres CCSID Shift-JIS variantes son conjuntos de caracteres de varios bytes (MBCS): la parte del conjunto de caracteres de un solo byte (SBCS) de cada CCSID es diferente. La parte del juego de caracteres de doble byte (DBCS) es la misma en todos los CCSID. CCSID 5028 usa una página de códigos actualizada 897 llamada CCSID 4993. CCSID 932 usa la página de códigos original 897, que es CCSID 897. CCSID 942 usa un SBCS diferente de los otros dos CCSID, que es 1041.

También observe cómo CCSID 5028 y 4993 son diferentes por 4096 (1000 en hexadecimal) del CCSID predecesor con el mismo identificador de página de códigos. Ésta es una forma común en la que CDRA denota un CCSID actualizado.

Hay algunas razones para esta complejidad:

  • Muchos de los CCSID se utilizan en bases de datos de IBM, como DB2 , donde un campo de base de datos solo admite una cadena SBCS, DBCS o MBCS. Los CCSID permiten a los programas diferenciar cuál se está utilizando.
  • Cuando se agregan o reemplazan caracteres, como la introducción del signo de moneda del euro, se puede saber si las cadenas almacenadas admiten o no esas adiciones de caracteres porque se está utilizando un CCSID diferente. Este control de versiones es importante para la integridad de los datos.
  • Permite la reutilización de recursos entre CCSID similares.

Referencias

enlaces externos