Unicode


Unicode , formalmente el estándar Unicode , es un estándar de tecnología de la información para la codificación , representación y manejo consistentes de texto expresado en la mayoría de los sistemas de escritura del mundo . El estándar, que es mantenido por Unicode Consortium , define 144,697 caracteres [1] [2] que cubren 159 escrituras modernas e históricas , así como símbolos, emoji y códigos de formato y control no visual.

El repertorio de caracteres Unicode está sincronizado con ISO/IEC 10646 , siendo cada uno código por código idéntico al otro. El estándar Unicode , sin embargo, incluye más que solo el código base. Además de las codificaciones de caracteres, la publicación oficial del Consorcio incluye una amplia variedad de detalles sobre los scripts y cómo mostrarlos: reglas de normalización , descomposición, intercalación , representación y orden de visualización de texto bidireccional para textos multilingües, etc. [3] El estándar también incluye archivos de datos de referencia y gráficos visuales para ayudar a los desarrolladores y diseñadores a implementar correctamente el repertorio.

El éxito de Unicode en la unificación de conjuntos de caracteres ha llevado a su uso generalizado y predominante en la internacionalización y localización de software informático . El estándar se ha implementado en muchas tecnologías recientes, incluidos los sistemas operativos modernos , XML y la mayoría de los lenguajes de programación modernos .

Unicode se puede implementar mediante diferentes codificaciones de caracteres. El estándar Unicode define los formatos de transformación Unicode (UTF): UTF-8 , UTF-16 y UTF-32 , y varias otras codificaciones. Las codificaciones más utilizadas son UTF-8, UTF-16 y la obsoleta UCS-2 (un precursor de UTF-16 sin soporte completo para Unicode); GB18030 , aunque no es un estándar oficial de Unicode, está estandarizado en China e implementa Unicode por completo.

UTF-8, la codificación dominante en la World Wide Web (usada en más del 95 % de los sitios web a partir de 2020 y hasta el 100 % para algunos idiomas) [4] y en la mayoría de los sistemas operativos similares a Unix, usa un byte [nota 1] (8  bits ) para los primeros 128 puntos de código y hasta 4 bytes para otros caracteres. [5] Los primeros 128 puntos de código Unicode representan los caracteres ASCII , lo que significa que cualquier texto ASCII también es un texto UTF-8.

UCS-2 utiliza dos bytes (16 bits) para cada carácter, pero solo puede codificar los primeros 65.536 puntos de código , el llamado Plano Multilingüe Básico (BMP). Con 1 112 064 puntos de código Unicode posibles correspondientes a caracteres (ver más abajo ) en 17 planos, y con más de 144 000 puntos de código definidos a partir de la versión 14.0, UCS-2 solo puede representar menos de la mitad de todos los caracteres Unicode codificados. Por lo tanto, UCS-2 está obsoleto, aunque todavía se usa en el software. UTF-16 amplía UCS-2, utilizando la misma codificación de 16 bits que UCS-2 para el plano multilingüe básico y una codificación de 4 bytes para los demás planos. Mientras no contenga puntos de código en el rango reservado U+D800–U+DFFF, un texto UCS-2 es un texto UTF-16 válido.


Muchas aplicaciones modernas pueden representar un subconjunto sustancial de los muchos scripts en Unicode , como lo demuestra esta captura de pantalla de la aplicación OpenOffice.org .
Varios caracteres cirílicos mostrados con formas alternas verticales, oblicuas y cursivas