Articulo de referencia

Conjunto de caracteres codificados universal

'''Less common''': [[UTF-32]], [[BOCU]], [[Standard Compression Scheme for Unicode|SCSU]], [[UTF-7]]"},"encodes":{"wt":""},"extends":{"wt":""},"prev":{"wt":"[[ISO/IEC 8859]], [[...

El Conjunto Universal de Caracteres Codificados ( UCS , Unicode ) es un conjunto estándar de caracteres definido por la norma internacional ISO / IEC  10646, Tecnología de la información: Conjunto Universal de Caracteres Codificados (UCS) (más enmiendas a dicha norma), que es la base de muchas codificaciones de caracteres , mejorando a medida que se agregan caracteres de sistemas de escritura previamente no representados. [ 1 ]

El UCS dispone de más de 1,1 millones de puntos de código posibles para su uso/asignación, pero solo los primeros 65.536, que corresponden al Plano Multilingüe Básico (BMP), se habían generalizado antes del año 2000. Esta situación comenzó a cambiar cuando la República Popular China (RPC) dictaminó en 2006 que todo el software vendido en su jurisdicción debía ser compatible con GB 18030. Esto obligó al software destinado a la venta en la RPC a ir más allá del BMP. [ 2 ]

El sistema deja deliberadamente muchos puntos de código sin asignar a caracteres, incluso en el BMP. Esto se hace para permitir futuras expansiones o para minimizar conflictos con otras formas de codificación.

La edición original del UCS definió UTF-16 , una extensión de UCS-2, para representar puntos de código fuera del BMP. Un rango de puntos de código en la Zona S (Especial) del BMP permanece sin asignar a caracteres. UCS-2 no permite el uso de valores de código para estos puntos de código, pero UTF-16 permite su uso en pares. Unicode también adoptó UTF-16, pero en la terminología de Unicode, los elementos de la zona de mitad alta se convierten en "sustitutos altos" y los elementos de la zona de mitad baja en "sustitutos bajos".

Otra codificación, UTF-32 (anteriormente denominada UCS-4), utiliza cuatro bytes (un total de 32 bits) para codificar un solo carácter del espacio de códigos. De este modo, UTF-32 permite una representación binaria de cada punto de código (a partir del año 2024) en las API y las aplicaciones de software.

Historia

La Organización Internacional de Normalización (ISO) se propuso crear el conjunto de caracteres universal en 1989 y publicó el borrador de la norma ISO 10646 en 1990. Hugh McGregor Ross fue uno de sus principales artífices.

Este trabajo se realizó independientemente del desarrollo del estándar Unicode , que venía en desarrollo desde 1987 por parte de Xerox y Apple .

El borrador original de la norma ISO 10646 difería notablemente de la norma actual. Definía:

  • 128 grupos de
  • 256 aviones de
  • 256 filas de
  • 256 células,

para un total aparente de 2.147.483.648 caracteres, pero en realidad el estándar solo podía codificar 679.477.248 caracteres, ya que la política prohibía los valores de byte de los códigos de control C0 y C1 (0x00 a 0x1F y 0x80 a 0x9F, en notación hexadecimal ) en cualquiera de los cuatro bytes que especifican un grupo, plano, fila y celda. La letra mayúscula latina A, por ejemplo, tenía una ubicación en el grupo 0x20, plano 0x20, fila 0x20, celda 0x41.

Los caracteres de esta norma primordial ISO/IEC 10646 podrían codificarse de tres maneras:

  1. UCS-4, cuatro bytes por cada carácter, lo que permite la codificación sencilla de todos los caracteres;
  2. UCS-2, dos bytes por 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, directamente, y otros planos y grupos cambiando a ellos con secuencias de escape ISO/IEC 2022 ;
  3. UTF-1 , que codifica todos los caracteres en secuencias de bytes de longitud variable (de 1 a 5 bytes, cada uno de los cuales no contiene códigos de control).

En 1990, por lo tanto, existían dos iniciativas para un conjunto de caracteres universal: Unicode , con 16  bits por carácter (65.536 caracteres posibles), e ISO/IEC 10646. Las empresas de software se negaron a aceptar la complejidad y el tamaño que exigía el estándar ISO y lograron convencer a varios organismos nacionales de ISO para que votaran en contra. Los responsables de ISO se dieron cuenta de que no podían seguir apoyando el estándar en su estado actual y negociaron su unificación con Unicode. Se produjeron dos cambios: la eliminación de la limitación de caracteres (la prohibición de valores de código de control), lo que permitió la asignación de puntos de código; y la sincronización del repertorio del Plano Multilingüe Básico con el de Unicode.

Mientras tanto, con el paso del tiempo, la situación cambió en el propio estándar Unicode: 65.536 caracteres resultaron insuficientes, y el estándar, a partir de la versión 2.0, admite la codificación de 1.112.064 puntos de código de 17 planos mediante el mecanismo sustituto UTF-16 . Por esta razón, ISO/IEC 10646 se limitó a contener la cantidad de caracteres que podía codificar UTF-16 y no más, es decir, poco más de un millón de caracteres en lugar de más de 679 millones. La codificación UCS-4 de ISO/IEC 10646 se incorporó al estándar Unicode con la limitación al rango UTF-16 y bajo el nombre UTF-32 , aunque prácticamente no tiene utilidad fuera de los datos internos de los programas.

Rob Pike y Ken Thompson , los diseñadores del sistema operativo Plan 9 , idearon una nueva codificación de ancho mixto, rápida y bien diseñada, que también era compatible con versiones anteriores de ASCII de 7 bits , que llegó a llamarse UTF-8 , [ 3 ] y que actualmente es la codificación UCS más popular.

Diferencias con Unicode

ISO/IEC 10646 y Unicode comparten un repertorio y numeración idénticos: los mismos caracteres con los mismos números existen en ambos estándares, aunque Unicode publica nuevas versiones y añade caracteres con mayor frecuencia. Unicode cuenta con reglas y especificaciones que van más allá del alcance de ISO/IEC 10646. ISO/IEC 10646 es un mapa de caracteres sencillo, una extensión de estándares anteriores como ISO/IEC 8859. En cambio, Unicode añade reglas para la intercalación , la normalización de formas y el algoritmo bidireccional para escrituras de derecha a izquierda, como el árabe y el hebreo. Para lograr la interoperabilidad entre plataformas, especialmente si se utilizan escrituras bidireccionales, no basta con ser compatible con ISO/IEC 10646; es necesario implementar Unicode.

Para respaldar estas reglas y algoritmos, Unicode agrega numerosas propiedades a cada carácter del conjunto, como propiedades que determinan la clase bidireccional predeterminada del carácter y propiedades que definen cómo se combina con otros caracteres. Si el carácter representa un valor numérico, como el número europeo '8' o la fracción '¼', dicho valor numérico también se agrega como una propiedad del carácter. Unicode busca que estas propiedades faciliten el manejo interoperable de textos en diversos idiomas.

Algunas aplicaciones admiten caracteres ISO/IEC 10646, pero no son totalmente compatibles con Unicode. Una de ellas, Xterm , puede mostrar correctamente todos los caracteres ISO/IEC 10646 que tienen una correspondencia uno a uno entre caracteres y glifos, y una sola direccionalidad. Puede manejar algunas marcas de combinación mediante métodos de superposición sencillos, pero no puede mostrar hebreo (bidireccional), devanagari (un carácter a varios glifos) ni árabe (ambas características). La mayoría de las aplicaciones con interfaz gráfica de usuario (GUI ) utilizan rutinas estándar de dibujo de texto del sistema operativo que manejan estos sistemas de escritura, aunque las propias aplicaciones no siempre los manejan correctamente.

Citando el conjunto de caracteres codificados universal

La referencia ISO/IEC 10646 , una cita general e informal para la familia de normas ISO/IEC 10646, es aceptable en la mayoría de los textos. Y aunque se trata de una norma independiente, el término Unicode se usa con la misma frecuencia, de forma informal, al hablar del UCS. Sin embargo, cualquier referencia normativa al UCS como publicación debe citar el año de la edición en el formato ISO/IEC 10646:{año} , por ejemplo: ISO/IEC 10646:2014 .

Relación con Unicode

Desde 1991, el Consorcio Unicode y la ISO / IEC han desarrollado conjuntamente el Estándar Unicode ("Unicode") y la norma ISO/IEC 10646. El repertorio, los nombres de los caracteres 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, incluyendo sus primeras siete enmiendas publicadas. Tras la publicación de Unicode 3.0 en febrero de 2000, los caracteres nuevos y actualizados correspondientes se incorporaron al UCS mediante la norma ISO/IEC 10646-1:2000. En 2003, las partes 1 y 2 de la norma ISO/IEC 10646 se combinaron en una sola parte, que desde entonces ha recibido varias enmiendas que han añadido caracteres al estándar en sincronía aproximada con el estándar Unicode.

Véase también

Referencias

  1. Borrador, Comité Final (2010). Norma Internacional ISO/IEC ISO/IEC 10646 (PDF) (2.ª  ed.). Suiza. pág.  8.{{cite book}}: CS1 mantenimiento: falta el editor de ubicación ( enlace )
  2. "Conjunto de caracteres universal - Acemap" . ddescholar.acemap.info . Consultado el 9 de junio de 2025 .
  3. Pike, Rob (3 de abril de 2003). "Historia de UTF-8" . Archivado del original el 23 de mayo de 2016.
  • Normas disponibles públicamente (ISO)  : incluye una copia de ISO/IEC 10646:2020/Amd. 1:2023(E).
  • ISO/IEC JTC1/SC2/WG2 , el grupo de trabajo encargado de la norma ISO 10646.
  • Preguntas frecuentes sobre UTF-8 y Unicode
  • Fuentes, editores y documentación gratuitos de SIL
  • Ejemplo sencillo pero agradable de UTF-8 para poner a prueba las capacidades de tu navegador web y de las fuentes.
  • Problemas con el conjunto de caracteres para ADA 9x de octubre de 1989, se ofrece información detallada sobre el DIS ISO-10646 original, anterior a la fusión.
Obtenido de " https://en.wikipedia.org/w/index.php?title=Universal_Coded_Character_Set&oldid=1353254801 "