Unicode: estándar universal para codificar texto y símbolos
Resumen del estándar Unicode: puntos de código, codificaciones UTF-8/UTF-16, procesamiento de texto, historia, usos y cuestiones prácticas como normalización, bidi, emoji y caracteres de control.
Unicode es un estándar ampliamente adoptado que asigna un número único a cada carácter usado en sistemas de escritura modernos y en muchos históricos, junto con símbolos, signos de puntuación y códigos de control. Mantenido por el Consorcio Unicode, el estándar separa la idea abstracta de un carácter (un punto de código) de la forma en que se almacena o transmite (una codificación). Para una fuente oficial y más detalles técnicos, consulta el Consorcio Unicode.
Galería de imágenes
1 ImagenConceptos básicos y estructura
En el centro de Unicode están los puntos de código: valores enteros, a menudo escritos en hexadecimal, que identifican caracteres. Los puntos de código se organizan en planos; el más usado es el Plano Multilingüe Básico (BMP). El rango completo de puntos de código asignados se extiende más allá del BMP para permitir muchos miles de caracteres adicionales. Las codificaciones traducen los puntos de código a secuencias de bytes. Entre las más comunes están UTF-8 (una codificación de anchura variable, orientada a bytes y compatible con ASCII), UTF-16 (usa unidades de código de 16 bits y pares sustitutos para los caracteres fuera del BMP) y UTF-32 (unidades fijas de 32 bits). Estas codificaciones permiten usar Unicode en archivos, protocolos de red y memoria.
Representación y comportamiento del texto
Mostrar texto legible implica más que mapear puntos de código a glifos. Varios puntos de código pueden combinarse para formar un solo carácter visible: una letra base más una o más marcas de combinación (acentos o diacríticos) producen una apariencia compuesta. La unidad visible que los usuarios suelen tratar como un carácter es un grafo o clúster grafémico, que no siempre coincide con un único punto de código. Unicode también define caracteres de control invisibles que afectan al diseño o a la dirección; entre ellos están el salto de línea y las inversiones direccionales —véase caracteres de control para su comportamiento y uso. En el texto bidireccional, como el árabe o el hebreo mezclados con el latín, el Algoritmo Bidireccional de Unicode determina el orden visual.
Historia y evolución
Unicode comenzó como un proyecto para unificar codificaciones de caracteres dispares y evitar las incompatibilidades que dificultaban la informática multilingüe. Con el tiempo se alineó con la norma internacional ISO/IEC 10646, de modo que se usa ampliamente un único repertorio y conjunto de puntos de código. El estándar ha evolucionado para añadir escrituras, caracteres históricos, símbolos y adiciones modernas como los emoji. El Consorcio Unicode coordina propuestas, asigna nuevos caracteres y publica la Base de Datos de Caracteres Unicode y otros informes técnicos relacionados.
Usos, ejemplos e importancia
Unicode es la base del software internacionalizado: las páginas web modernas, los sistemas operativos, los lenguajes de programación y las bases de datos asumen codificaciones compatibles con Unicode. UTF-8 se ha convertido en la codificación dominante en la web porque representa los caracteres ASCII con un solo byte y, al mismo tiempo, permite representar cualquier otro carácter. Unicode también normaliza anotaciones usadas por los motores de búsqueda y los algoritmos de ordenación: el Algoritmo de Colación de Unicode ofrece una forma de comparar cadenas entre distintos sistemas de escritura. Además, el estándar admite emoji y otros símbolos pictográficos que las codificaciones anteriores no podían representar; los fabricantes y las fuentes asignan a estos puntos de código glifos gráficos (emoji y símbolos).
Consideraciones prácticas y datos notables
- Normalización: el mismo texto visible puede tener varias secuencias de puntos de código (compuestas o descompuestas). Las formas de normalización (NFC, NFD, etc.) hacen que las comparaciones y búsquedas sean fiables.
- Longitud frente a caracteres: las funciones que cuentan bytes, unidades de código o puntos de código pueden no reflejar los caracteres que se ven en pantalla; a menudo se necesita un procesamiento sensible a los grafemas.
- Seguridad: caracteres visualmente similares (homógrafos) pueden usarse de forma abusiva en nombres de dominio e identificadores.
- Uso privado: Unicode reserva rangos para acuerdos privados entre fabricantes, pero esos puntos de código no tienen un significado estándar.
- Fuentes y glifos: Unicode nombra caracteres, no formas de glifo; la representación depende de las fuentes y de los motores de composición.
Comprender Unicode ayuda a desarrolladores y creadores de contenido a manejar texto multilingüe de forma fiable. El estándar sigue ampliándose para cubrir nuevas escrituras, símbolos y patrones de uso, al tiempo que proporciona reglas técnicas para una codificación, colación y presentación coherentes en plataformas e idiomas distintos.
Artículos relacionados
Autor
AlegsaOnline.com Unicode: estándar universal para codificar texto y símbolos Leandro Alegsa
URL: https://es.alegsaonline.com/art/102854