Conjunto de caracteres universales, Formas de codificación del juego de caracteres universal, Historia de la ISO 10646, Diferencias entre ISO 10646 y Unicode, Citando el Conjunto Universal de Caracteres, Correlación con Unicode

El juego de caracteres universal, definido por la Norma ISO/IEC 10646, Tecnología de Información Internacional - conjunto de caracteres codificados de múltiples octeto universal, es un conjunto estándar de caracteres en que se basan muchas codificaciones de caracteres. La UCS contiene cerca de cien mil caracteres abstractos, cada uno identificado por un nombre inequívoco y un número entero llamado su punto de código.

Los personajes de los muchos lenguajes, scripts y tradiciones del mundo están representados en el SCP con código de puntos singulares. La inclusión de la UCS es la mejora continua como personajes de previamente no representados sistemas de escritura se añaden.

Desde 1991, el Consorcio Unicode ha trabajado con la ISO para desarrollar el estándar Unicode e ISO/IEC 10646 en conjunto. El repertorio, nombres de personajes, y los puntos de código de la versión 2.0 de Unicode coinciden exactamente con los de la norma ISO/IEC 10646-1:1993, con sus siete primeras enmiendas publicadas. Después de la publicación de Unicode 3.0 en febrero de 2000, correspondientes personajes nuevos y actualizados entraron en la UCS por ISO/IEC 10646-1:2000. En 2003, las partes 1 y 2 de la norma ISO/IEC 10646 se combinaron en una sola pieza, que desde entonces ha tenido una serie de enmiendas añadiendo caracteres al estándar en sincronía aproximada con el estándar Unicode.

La UCS dispone de más de 1,1 millones de puntos de código disponibles para su uso, pero sólo el primero 65.536 entró en uso común antes de 2000. Esta situación comenzó a cambiar cuando la República Popular de China dictaminó en 2000 que todo el software vendido en su jurisdicción tendría que soportar GB 18030. Este software necesario destinado a la venta en la República Popular China a moverse más allá de la BMP.

El sistema deja deliberadamente muchos puntos de código no asignados a los caracteres, incluso en el BMP. Esto se hace para permitir la expansión futura o para minimizar los conflictos con otras formas de codificación.

Formas de codificación del juego de caracteres universal

ISO 10646 define varias formas de codificación de caracteres del juego de caracteres universal. El más simple, UCS-2, utiliza un valor de código único entre 0 y 65.535 para cada personaje, y permite exactamente dos bytes para representar ese valor. UCS-2 con ello permite una representación binaria de cada punto de código en el BMP, siempre y cuando el punto de código representa un personaje. UCS-2 no puede representar los puntos de código fuera del BMP. De vez en cuando, los artículos sobre Unicode se refiere erróneamente a UCS-2 como "UCS-16". UCS-16 no existe, los autores que hacen de este error normalmente tienen la intención de referirse a UCS-2 o UTF-16.

La primera enmienda a la edición original de la UCS definido UTF-16, una extensión de UCS-2, para representar los puntos de código fuera del BMP. Una serie de puntos de código en la zona S del BMP sigue sin asignar a los personajes. UCS-2 no permite el uso de valores de código para estos puntos de código, pero UTF-16 permite el uso de dos en dos. Unicode también adoptó UTF-16, pero en la terminología Unicode, los elementos de alta media de la zona se convierten en sustitutos de "alto" y los elementos de la zona de baja media se convierten en "bajo sustitutos".

Otra codificación UCS-4, utiliza un valor de código único entre 0 y hexadecimal 7FFFFFFF para cada personaje. UCS-4 permite la representación de cada valor que exactamente cuatro bytes. UCS-4 lo que permite una representación binaria de cada punto de código en el SCP, incluyendo aquellos fuera de la BMP. Al igual que en UCS-2, cada carácter codificado tiene una longitud fija de bytes, lo que hace que sea fácil de manipular, pero por supuesto que requiere el doble de almacenamiento que UCS-2.

Actualmente, la codificación UCS dominante es UTF-8, que es una codificación de anchura variable diseñada para la compatibilidad con ASCII, y para evitar las complicaciones de la orden de bits y las marcas de orden de bytes en UTF-16 y UTF-32 - Más de la mitad de los todas las páginas Web están codificados en UTF-8 - El Grupo de Trabajo de Ingeniería de Internet requiere que todos los protocolos de Internet para identificar la codificación utilizada para los datos de caracteres y la codificación de caracteres soportados debe incluir UTF-8 - El Consorcio de correo de Internet recomienda que todos los programas de correo electrónico ser capaz de mostrar y crear electrónico utilizando UTF-8 - También es cada vez más utilizado como la codificación de caracteres por defecto en los sistemas operativos, lenguajes de programación, APIs y aplicaciones de software.

Véase también Comparación de codificaciones Unicode.

Historia de la ISO 10646

La Organización Internacional de Normalización se propuso componer el carácter universal establecido en 1989, y se publicó el borrador de la norma ISO 10646 en 1990. Hugh Ross McGregor fue uno de sus principales artífices. Esa norma difiere notablemente de la actual. Se define:

  • 128 grupos de
  • 256 planos de
  • 256 filas de
  • Las células 256,

para una aparente total de 2147483648 caracteres, pero en realidad la norma podría codificar sólo 679.477.248 caracteres, como la política prohibió valores de bytes de códigos de control C0 y C1 en uno cualquiera de los cuatro bytes que especifican un grupo, plano, fila y celular. La letra mayúscula latina A, por ejemplo, tenía un lugar en el grupo de 0x20, 0x20 avión, 0x20 fila, 0x41 celulares.

Se podría codificar los caracteres de esta primordial norma ISO 10646 en una de tres maneras:

  • UCS-4, cuatro bytes para cada carácter, lo que permite la simple codificación de todos los personajes;
  • UCS-2, dos bytes para cada carácter, lo que permite la codificación del primer plano, 0x20, el Plano multilingüe básico, que contiene los primeros 36.864 puntos de código, sin rodeos, y otros aviones y los grupos por el cambio a ISO 2022 con secuencias de escape;
  • UTF-1, que codifica todos los caracteres en secuencias de bytes de longitud variable.
  • En 1990, por lo tanto, dos iniciativas de carácter universal conjunto existían: Unicode, con 16 bits para cada carácter, e ISO 10646 - Las empresas de software se negaron a aceptar la exigencia de la complejidad y el tamaño de la norma ISO y fueron capaces de convencer a un número de Organismos Nacionales de ISO a votar en contra. El normalizadores ISO se dieron cuenta que no podían seguir apoyando a la norma en su estado actual y negociaron la unificación de su serie con Unicode. Dos cambios se llevaron a cabo: el levantamiento de la limitación de caracteres, abriendo puntos de código como 0x0000101F para la asignación y la sincronización del repertorio del plano multilingüe básico con la de Unicode.

    Mientras tanto, en el paso del tiempo, la situación cambió en la propia norma Unicode: 65.536 personajes llegaron a parecer insuficiente, y el estándar de la versión 2.0 en adelante soporta la codificación de 1.112.064 puntos de código de 17 aviones por medio del mecanismo de UTF-16 sustituto . Por esa razón, la ISO 10646 se limitó a contener tantos caracteres como podría ser codificado por UTF-16 y no más, es decir, algo más de un millón de caracteres en lugar de más de 679 millones. La codificación UCS-4 de la norma ISO 10646 fue incorporado en el estándar Unicode con la limitación de la gama de UTF-16 y con el nombre de UTF-32, aunque no tiene casi cualquier uso fuera de los datos internos de programas.

    Rob Pike y Ken Thompson, los diseñadores del sistema operativo Plan 9, idearon una nueva codificación rápido y bien diseñado mixto de ancho, que llegó a ser llamado UTF-8, actualmente el más popular de codificación UCS.

    Diferencias entre ISO 10646 y Unicode

    ISO 10646 y Unicode tienen un repertorio y números idénticos - existen los mismos personajes con los mismos números en ambas normas, aunque Unicode versiones nuevas versiones y añade nuevos personajes con más frecuencia. La diferencia entre ellos es que Unicode añade normas y especificaciones que se encuentran fuera del ámbito de aplicación de la norma ISO 10646 - ISO 10646 es un mapa de carácter simple, una extensión de los estándares anteriores como ISO 8859. Por el contrario, Unicode añade reglas para cotejo, la normalización de las formas, y el algoritmo bidireccional para escrituras de derecha a izquierda hebreo y árabe. Para la interoperabilidad entre plataformas, especialmente si se utilizan bidireccionales, no es suficiente para mantener a la norma ISO 10646; Unicode se debe implementar.

    Para apoyar estas reglas y algoritmos, Unicode añade muchas propiedades para cada carácter del conjunto como las propiedades que determinan la clase de caracteres por defecto y las propiedades bidireccional para determinar cómo el personaje se combina con otros personajes. Si el carácter representa un valor numérico tal como el número Europea 8, o la fracción vulgar, también se añade que el valor numérico como una propiedad de carácter. Unicode tiene la intención de estas propiedades para apoyar el manejo de texto interoperable con una mezcla de idiomas.

    Algunas aplicaciones son compatibles con la ISO 10646, pero no son totalmente compatibles con Unicode. Una de estas aplicaciones, Xterm, puede mostrar correctamente todos los caracteres ISO 10646 que tienen un carácter de uno a uno de mapeo glifo y una direccionalidad. Puede manejar algunas marcas que combinan mediante métodos overstriking simples, pero no puede mostrar hebreo, devanagari o el árabe. La mayoría de aplicaciones GUI utilizan rutinas de dibujo de texto del sistema operativo estándar que manejan este tipo de scripts, aunque las propias aplicaciones todavía no siempre gestionan correctamente.

    Citando el Conjunto Universal de Caracteres

    ISO 10646, una citación general informal de la familia de normas ISO/IEC 10646, es aceptable en la mayoría de prosa. Y a pesar de que se trata de una norma aparte, el término Unicode se utiliza la misma frecuencia, de manera informal, cuando se habla de la UCS. Sin embargo, las referencias normativas al UCS como una publicación deben citar una parte y la versión particular, utilizando el formulario de ISO/IEC 10646 - {part}: {año}, por ejemplo: ISO/IEC 10646-1:1993.

    Correlación con Unicode

    • ISO/IEC 10646-1:1993 Unicode 1.1
    • ISO/IEC 10646-1:2000 Unicode 3.0
    • ISO/IEC 10646-2:2001 Unicode 3.2
    • ISO/IEC 10646:2003 Unicode 4.0
    • ISO/IEC 10646:2003 más enmienda 1 Unicode 4.1
    • ISO/IEC 10646:2003 más enmienda 1, enmienda 2, y parte de la enmienda 3 Unicode 5.0
    • ISO/IEC 10646:2003, más enmiendas 1 a 4 Unicode 5.1
    • ISO/IEC 10646:2003, más enmiendas 1 a 6 Unicode 5.2
    • ISO/IEC 10646:2011 Unicode 6.0

    Ver C.1 de la norma Unicode y http://www.unicode.org/versions/Unicode6.0.0/ para más detalles.

    Comparte este artículo

    No hay comentarios

    Deja una respuesta

    Security code