Unicode

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 16 de agosto de 2022; las comprobaciones requieren 8 ediciones .

Unicode [1] ( Ing.  Unicode ) es un estándar de codificación de caracteres que incluye signos de casi todos los idiomas escritos del mundo [2] . El estándar es actualmente el dominante en Internet .

El estándar fue propuesto en 1991 por la organización sin fines de lucro Unicode Consortium (Unicode Inc. ) [ 3] [4] .  El uso de este estándar permite codificar una gran cantidad de caracteres de diferentes sistemas de escritura: en documentos codificados según el estándar Unicode, jeroglíficos chinos , símbolos matemáticos, letras del alfabeto griego , latino y cirílico , símbolos de música la notación y el cambio de página de códigos se vuelven innecesarios [5] .

El estándar consta de dos partes principales: un juego de caracteres universal ( ing.  Juego de caracteres universal, UCS ) y una familia de codificaciones ( ing.  Formato de transformación Unicode, UTF ). El conjunto de caracteres universal enumera los caracteres permitidos por el estándar Unicode y asigna a cada carácter un código como un número entero no negativo, generalmente escrito en notación hexadecimal con el prefijo U+, como U+040F. Una familia de codificación define cómo se convierten los códigos de caracteres para su transmisión en un flujo o archivo.

Los códigos en el estándar Unicode se dividen en varias áreas. El área con los códigos U+0000 a U+007F contiene caracteres del conjunto ASCII y estos códigos de caracteres coinciden con sus códigos ASCII. Luego están las áreas de símbolos de otros sistemas de escritura, signos de puntuación y símbolos técnicos. Algunos de los códigos están reservados para uso futuro [6] . Bajo caracteres cirílicos, se asignan áreas de caracteres con códigos de U + 0400 a U + 052F, de U + 2DE0 a U + 2DFF, de U + A640 a U + A69F (ver cirílico en Unicode ) [7] .

Antecedentes de la creación y desarrollo de Unicode

Unicode es un código único para cualquier carácter, independientemente de la plataforma, del programa, del idioma.Consorcio Unicode [8]

A fines de la década de 1980, las codificaciones de 8 bits se convirtieron en el estándar, ya había una gran cantidad de ellas y aparecían nuevas constantemente. Esto se debió tanto a la expansión de la gama de idiomas admitidos como al deseo de crear codificaciones que sean parcialmente compatibles entre sí (un ejemplo típico es la aparición de una codificación alternativa para el idioma ruso , debido a la explotación de programas occidentales creado para codificar CP437 ). Como resultado, aparecieron varios problemas:

  1. el problema de la decodificación incorrecta;
  2. el problema de la limitación del juego de caracteres;
  3. el problema de convertir una codificación a otra;
  4. Problema de duplicación de fuentes.

El problema de la decodificación incorrecta  provocó la aparición en el documento de caracteres de idiomas extranjeros que no estaban previstos en el documento, o la aparición de caracteres pseudográficos que no estaban previstos, apodados por los usuarios de habla rusa " krakozyabry ". El problema se debió en gran medida a la falta de un formulario estandarizado para especificar la codificación de un archivo o secuencia. El problema podría resolverse mediante la introducción consistente del estándar para especificar la codificación, o mediante la introducción de una codificación común para todos los idiomas. [5]

El problema del juego de caracteres limitado [5] . El problema podría resolverse cambiando las fuentes dentro del documento o introduciendo una codificación "ancha". El cambio de fuentes se ha practicado durante mucho tiempo en los procesadores de texto, y a menudo se usaban fuentes con una codificación no estándar , las llamadas. "fuentes dingbat". Como resultado, al intentar transferir un documento a otro sistema, todos los caracteres no estándar se volvieron "locos".

El problema de convertir una codificación a otra . El problema podría resolverse compilando tablas de conversión para cada par de codificaciones o utilizando una conversión intermedia a una tercera codificación que incluya todos los caracteres de todas las codificaciones [9] .

Problema de duplicación de fuentes . Para cada codificación, se creó una fuente diferente, incluso si los juegos de caracteres en las codificaciones coincidían parcial o completamente. El problema podría resolverse creando fuentes "grandes", a partir de las cuales se seleccionarían posteriormente los caracteres necesarios para una codificación determinada. Sin embargo, esto requirió la creación de un registro único de caracteres para determinar qué corresponde a qué.

Se reconoció la necesidad de una única codificación "ancha". Se descubrió que las codificaciones de longitud de caracteres variables, ampliamente utilizadas en el este de Asia, eran demasiado difíciles de usar, por lo que se decidió utilizar caracteres de ancho fijo. El uso de caracteres de 32 bits parecía demasiado derrochador, por lo que se decidió utilizar caracteres de 16 bits.

La primera versión de Unicode era una codificación con un tamaño de carácter fijo de 16 bits, es decir, el número total de códigos era de 2 16 (65 536). Desde entonces, los caracteres se han denotado con cuatro dígitos hexadecimales (por ejemplo, U+04F0). Al mismo tiempo, se planeó codificar en Unicode no todos los caracteres existentes, sino solo aquellos que son necesarios en la vida cotidiana. Los símbolos rara vez utilizados debían colocarse en un " área de uso privado ", que originalmente ocupaban los códigos U+D800…U+F8FF. Para utilizar Unicode también como enlace intermedio al convertir diferentes codificaciones entre sí, incluyó todos los caracteres representados en todas las codificaciones más famosas.

En el futuro, sin embargo, se decidió codificar todos los caracteres y, en este sentido, expandir significativamente el área de código. Al mismo tiempo, los códigos de caracteres comenzaron a considerarse no como valores de 16 bits, sino como números abstractos que se pueden representar en una computadora de muchas maneras diferentes (ver métodos de representación ).

Dado que en varios sistemas informáticos (por ejemplo, Windows NT [10] ) ya se utilizaban caracteres fijos de 16 bits como codificación predeterminada, se decidió codificar todos los caracteres más importantes solo dentro de las primeras 65.536 posiciones (las llamado English  Basic Multilingual Plane, BMP ). El resto del espacio se utiliza para "caracteres complementarios" : sistemas de escritura  de lenguas extintas o caracteres chinos muy poco utilizados , símbolos matemáticos y musicales.

Para compatibilidad con sistemas más antiguos de 16 bits, se inventó el sistema UTF-16 , donde las primeras 65 536 posiciones, excluyendo las posiciones del intervalo U+D800…U+DFFF, se muestran directamente como números de 16 bits, y el resto se representa como "pares sustitutos" (el primer elemento del par de la región U+D800…U+DBFF, el segundo elemento del par de la región U+DC00…U+DFFF). Para pares sustitutos, se utilizó una parte del espacio de código (2048 posiciones) asignado "para uso privado".

Dado que solo se pueden mostrar 2 20 +2 16 −2048 (1 112 064) caracteres en UTF-16 , este número se eligió como el valor final del espacio de código Unicode (rango de código: 0x000000-0x10FFFF).

Aunque el área de código Unicode se extendió más allá de 2 16 ya en la versión 2.0, los primeros caracteres en la región "superior" solo se colocaron en la versión 3.1.

El papel de esta codificación en el sector web está en constante crecimiento. A principios de 2010, la proporción de sitios web que utilizaban Unicode era de alrededor del 50 % [11] .

Versiones Unicode

El trabajo para finalizar el estándar continúa. Se lanzan nuevas versiones a medida que las tablas de símbolos cambian y crecen. Paralelamente, se están emitiendo nuevos documentos ISO /IEC 10646.

El primer estándar se publicó en 1991, el último está actualmente en 2021. Las versiones 1.0-5.0 del estándar se publicaron como libros y tienen ISBN [ 12] [13] .

El número de versión del estándar se compone de tres dígitos (por ejemplo, 3.1.1). El tercer dígito se cambia cuando se realizan cambios menores en el estándar que no agregan nuevos caracteres (la excepción es la versión 1.0.1, que agregó ideogramas unificados para letras chinas, japonesas y coreanas ) [14] .

La base de datos de caracteres Unicode está disponible para todas las versiones en el sitio web oficial tanto en texto sin formato como en formato XML. Los archivos se distribuyen bajo una licencia similar a BSD .

Versiones Unicode
Número de versión Fecha de publicación Libro ISBN Edición ISO/IEC 10646 Número de guiones Número de caracteres [A 1 ] Cambios
1.0.0 [15] octubre de 1991 ISBN 0-201-56788-1 (Vol.1) 24 7161 Inicialmente, Unicode contenía caracteres de las siguientes escrituras: árabe , armenio , bengalí , zhuyin , cirílico , devanagari , georgiano , griego, copto , gujarati , gurmukhi , hangul , hebreo , hiragana , kannada , katakana , laosiano , latín , malayalam , oriya , Escritura tamil, escritura telugu , escritura tailandesa y escritura tibetana [16]
1.0.1 junio de 1992 ISBN 0-201-60845-6 (Vol.2) 25 28 359 Se agregaron 20,902 ideogramas chinos, japoneses y coreanos unificados [17]
1.1 [18] junio de 1993 ISO/CEI 10646-1:1993 24 34 233 Se agregaron 4306 sílabas hangul para complementar los 2350 caracteres que ya están en la codificación. Caracteres tibetanos eliminados [19]
2,0 [20] julio de 1996 ISBN 0-201-48345-9 ISO/IEC 10646-1:1993 y Enmiendas 5, 6, 7 25 38 950 Se han eliminado las sílabas hangul añadidas anteriormente y se han añadido 11 172 sílabas hangul nuevas con nuevos códigos. Devolvió caracteres previamente eliminados de la escritura tibetana ; los símbolos recibieron nuevos códigos y se colocaron en diferentes tablas. Se ha introducido el mecanismo de caracteres suplentes (en inglés  suplente ). Espacio asignado para aviones ( ing.  planes ) 15 y 16 [21]
2.1 [22] mayo de 1998 ISO/IEC 10646-1:1993, Enmiendas 5, 6, 7, dos caracteres de la Enmienda 18 25 38 952 Símbolo del euro agregado y símbolo de reemplazo [23]
3.0 [24] septiembre de 1999 ISBN 0-201-61633-5 ISO/CEI 10646-1:2000 38 49 259 Se agregó escritura cherokee , escritura etíope , escritura jemer , escritura mongol , escritura birmana , escritura Ogham , runas , escritura cingalesa , escritura siríaca , escritura Tana , escritura y escritura de silabario canadiense y caracteres Braille [25]
3.1 [26] marzo de 2001 ISO/CEI 10646-1:2000

ISO/CEI 10646-2:2001

41 94 205 Se agregaron Deseret, Gothic y Old Ital , así como símbolos musicales occidentales y bizantinos , 42,711 ideogramas chinos , japoneses y coreanos unificados . Espacio asignado para los planos 1 , 2 y 14 [27]
3.2 [28] marzo de 2002 ISO/IEC 10646-1:2000 y Enmienda 1

ISO/CEI 10646-2:2001

45 95 221 Buhid , hanunoo , baybayin y tagbanwa [29] guión agregado
4,0 [30] abril de 2003 ISBN 0-321-18578-1 ISO/CEI 10646:2003 52 96 447 Se agregaron los símbolos chipriota , limbu , lineal B , somalí , alfabético , Ly y ugarítico y hexagrama [31]
4.1 [32] marzo de 2005 ISO/IEC 10646:2003 y Enmienda 1 59 97 720 Se agregó la escritura Lontar , la escritura Glagolitic , la escritura Kharoshthi , la escritura New Ly , la escritura cuneiforme persa antigua , la escritura Sylkhet Nagari y la escritura libia antigua . Los símbolos de la escritura copta fueron separados de los de la escritura griega . También se agregan símbolos de números griegos antiguos , símbolos musicales de la antigua Grecia y el símbolo hryvnia (moneda de Ucrania ) [33]
5.0 [34] julio de 2006 ISBN 0-321-48091-0 ISO/IEC 10646:2003, Enmiendas 1, 2, cuatro caracteres de la Enmienda 3 64 99 089 Se agregaron balinés , cuneiforme , N'Ko , cuadrado mongol y fenicio [35]
5.1 [36] abril de 2008 ISO/IEC 10646:2003 y Enmiendas 1, 2, 3, 4 75 100 713 Se añaden la escritura caria , la escritura cham, la escritura kaya -li , la escritura lepcha , la escritura licia, la escritura lidia, la escritura ol -chiki , la escritura rejang , la escritura saurashtra, la escritura sundanesa , la escritura turca antigua y la escritura vai . Se han agregado símbolos de disco de Phaistos , símbolos de mahjong y dados de dominó , la letra mayúscula escet (ẞ), así como letras latinas utilizadas en manuscritos medievales para la abreviatura . Se agregaron nuevos símbolos al juego de caracteres birmano [37]
5.2 [38] octubre de 2009 ISO/IEC 10646:2003 y Enmiendas 1, 2, 3, 4, 5, 6 90 107 361 Escritura avéstica agregada , escritura Bamum , escritura jeroglífica egipcia (según la lista de Gardiner que contiene 1071 caracteres), escritura aramea imperial , escritura epigráfica pahleviana , escritura epigráfica parta , escritura javanesa , escritura Kaithi , escritura Lisu , Escritura manipuri , escritura árabe del sur , escritura turca antigua , escritura samaritana , escritura lanna y escritura vietnamita tailandesa . Se agregaron 4149 nuevos ideogramas unificados de escritura china, japonesa y coreana (CJK-C), caracteres védicos , símbolo tenge (moneda de Kazajstán ), y también se amplió el conjunto de caracteres Chamo del antiguo Hangul [39]
6,0 [40] octubre de 2010 ISO/IEC 10646:2010 y símbolo de la rupia india 93 109 449 Se agregó la secuencia de comandos Batak , la secuencia de comandos Brahmi y la secuencia de comandos Mandaean . Se agregaron símbolos para jugar a las cartas , señales de tráfico , mapas , alquimia , emoticón y emoji , así como 222 ideogramas unificados para chino, japonés y coreano (CJK-D) [41]
6.1 [42] enero 2012 ISO/CEI 10646:2012 100 110 181 Se agregó la escritura Chakma , Meroitic Cursive y Meroitic caracteres , Miao script , Charade script , Sorang Sompeng script y Takri script [43]
6.2 [44] septiembre 2012 ISO/IEC 10646:2012 y símbolo de la lira turca 100 110 182 Se agregó el símbolo de la lira turca (moneda de Turquía ) [45]
6.3 [46] Septiembre 2013 ISO/IEC 10646:2012 y seis caracteres 100 110 187 Se agregaron cinco caracteres para formato bidireccional [47]
7.0 [48] 16 de junio de 2014 ISO/IEC 10646:2012, Enmiendas 1, 2 y símbolo de rublo 123 113 021 Se agregó Bassa Script , Aghwan Script, Duploye Shorthand , Elbasan Script , Grantha Script , Khodjiki Script , Khudavadi Script , Linear A Script , Mahajani Script , Manichaean Script , Kikakui Script , Modi Script , Mro Script , escritura nabatea , escritura árabe del norte , escritura del Pérmico antiguo , escritura Pahau , escritura Palmyra , escritura Chin Ho , escritura Pahlavi Psalter , Siddhamatrika , escritura Tirhuta , Varang-kshiti y Dingbat ornamento , como así como el símbolo del rublo ruso y el símbolo del manat azerbaiyano [49]
8,0 [50] 17 de junio de 2015 ISO/IEC 10646:2014, enmienda 1, símbolo lari , 9 ideogramas CJK unificados, 41 emoji 129 120 737 Se agregó la escritura Ahom , los jeroglíficos de Anatolia , la escritura Hatran , la escritura Multani , las runas húngaras , la escritura de señas, los ideogramas unificados 5776 CJK - Extensión E , las letras cherokee en minúsculas , las letras latinas para la dialectología alemana, 41 emoji y cinco símbolos de cambio de color de piel para los emoticonos. Se agregó el símbolo lari ( moneda georgiana ) [51]
9,0 [52] 21 de junio de 2016 ISO/IEC 10646:2014, enmiendas 1, 2, adlam, neva, caracteres de televisión japoneses, 74 emojis y símbolos 135 128 237 Se agregaron Adlam Script , Bhaikshuki Script , Marchen Script , Neva Script , Osage Script , Tangut Script y 72 Emoji y caracteres japoneses para TV [53]
10,0 [54] 20 de junio de 2017 ISO/IEC 10646:2017, 56 emoji , 285 caracteres hentaigana , 3 caracteres cuadrados de Zanabazar 139 136 755 Se agregó Zanabazara Square Script , Soyombo Script, Masarama Gondi , Nu Shu Script , Hentaigan Script , 7494 CJK Uniform Ideograms - Extension F , 56 Emoji y Bitcoin Symbol [55]
11.0 junio 2018 ISO/CEI 10646:2017 146 137 439 Se agregaron Dogra, escritura georgiana Mtavruli, Gunjal Gondi, Hanifi , números indios Siyak, escritura Makassar , Medefeydrin, escritura (antigua) Sogdian , números mayas , 5 ideogramas CJK, símbolos Xiangqi y medias estrellas para evaluación, así como 145 emojis , cuatro símbolos emoticon cambio de peinado y símbolo copyleft [56] [57] [58]
12.0 marzo 2019 ISO/IEC 10646:2017, Enmiendas 1, 2, más 62 caracteres adicionales 150 137 993 Guión Elimai agregado, nadinagari, Hmong, Wancho, adiciones para escritura Pollard , kana pequeña para textos japoneses antiguos, fracciones históricas y caracteres tamiles , letras laosianas para pali , letras latinas para transliteración ugarítica, caracteres de control de formato de jeroglíficos egipcios y 61 emojis [59] [60]
12.1 Mayo 2019 150 137 994 Se agregó el símbolo cuadrado de la era Rave [61] [62]
13.0 marzo 2020 154 143 859 Se agregó Khwarezmian Script , Dives Akur Script , Khitan Minor Script , Yezidi Script , 4969 ideogramas CJK (incluidos 4939 CJK Unified Ideograms - extension G ), así como 55 emoji , caracteres Creative Commons y caracteres para computación heredada. Espacio asignado para el plano 3 [63] [64]


14.0 septiembre 2021 159 144 697 Se agregaron Toto, Cypriot-Minoan, Vitkut , Old Uighur , Tangsa , caracteres latinos adicionales ( bloques Latin Extended - F , Latin Extended - G ) para usar en extensiones IPA , adición de escritura árabe para usar en idiomas africanos, iraníes, Pakistán, Malasia , Indonesia, Java y Bosnia, así como complementos para usar en el Corán, otros complementos para admitir los idiomas de América del Norte, Filipinas, India y Mongolia, la adición del símbolo de soma , Znamenny notación y 37 emojis .
15.0 septiembre 2022 161 149 186 Se agregó el alfabeto Naga para Mundari (≈1950), Kawi (antiguo javanés), números kaktovik , caracteres cirílicos para transcripción, letras latinas para malayalam , 3 ligaduras del Corán turco, 1 jeroglífico egipcio, símbolos para representar jeroglíficos egipcios gastados, símbolos de Jainismo, una estrella bahá'í , símbolos de cinco objetos transneptunianos y 31 emojis (incluidos los colores de la piel).
notas
  1. Incluyendo caracteres gráficos ( eng.  graphic ), control ( eng.  control ) y caracteres de formato ( eng.  format ); sin incluir caracteres para uso privado ( eng.  private-use ), caracteres que no son caracteres ( eng.  noncharacters ) y sustitutos ( eng.  puntos de código sustitutos ).

Espacio de código

Aunque la notación UTF-8 permite codificar hasta 221 (2097152) puntos de código , se tomó la decisión de usar solo 1112064 para compatibilidad con UTF-16. Sin embargo, incluso esto es más que suficiente en este momento: solo se usan 144,697 posiciones de código en la versión 14.0.

El espacio del código se divide en 17 planos ( planos ingleses  ) de 2 16 (65 536) caracteres. El plano cero ( plane 0 ) se llama básico ( básico ) y contiene los símbolos de las escrituras más utilizadas. El resto de planos son adicionales ( suplementarios ). El primer plano ( plano 1 ) se usa principalmente para escrituras históricas, el segundo ( plano 2 ) se usa para caracteres chinos raramente usados ​​(CCH) , el tercero ( plano 3 ) está reservado para caracteres chinos arcaicos [65] . El plano 14 está reservado para símbolos utilizados para un propósito especial. Los aviones 15 y 16 están reservados para uso privado [6] .

Para designar caracteres Unicode, una entrada de la forma "U + xxxx " (para códigos 0 ... FFFF), o "U + xxxxx " (para códigos 10000 ... FFFFF), o "U + xxxxxx " (para códigos 100000 ... 10FFFF), donde xxx  son dígitos hexadecimales . Por ejemplo, el carácter "I" (U+044F) tiene el código 044F 16  = 1103 10 .

Sistema de codificación

El Sistema de codificación universal (Unicode) es un conjunto de caracteres gráficos y una forma de codificarlos para el procesamiento informático de datos de texto.

Los símbolos gráficos son símbolos que tienen una imagen visible. Los caracteres gráficos se contrastan con los caracteres de control y los caracteres de formato.

Los símbolos gráficos incluyen los siguientes grupos:

Unicode es un sistema para la representación lineal de texto. Los caracteres con superíndices o subíndices adicionales se pueden representar como una secuencia de códigos construidos según ciertas reglas (variante compuesta, carácter compuesto) o como un solo carácter (variante monolítica, carácter precompuesto). Desde 2014, se considera que todas las letras de escrituras grandes están incluidas en Unicode, y si un carácter está disponible en una versión compuesta, no es necesario duplicarlo en forma monolítica.

Principios generales

Garantías de Estabilidad Una vez que un carácter ha aparecido en la codificación, no se moverá ni desaparecerá. Por lo tanto, cada nuevo Unicode será un superconjunto del anterior. Si es necesario cambiar el orden de los caracteres, esto no se hace cambiando posiciones, sino por el orden de clasificación nacional. Hay otras garantías de estabilidad más sutiles; por ejemplo, las tablas de normalización no cambiarán [66] . Enlace dinámico Un objetivo tan elevado como la universalidad, Unicode lo logra ensamblando dinámicamente el texto impreso. A veces también se hacen caracteres monolíticos por conveniencia, pero en general A + ¨ = Ä . orden lógico El orden de los caracteres es aproximadamente el mismo que el orden de lectura y escritura, y no el mismo que el orden de visualización, especialmente en el texto bidireccional. Hay excepciones históricas: por ejemplo, en laosiano las vocales pueden ir antes de una consonante, aunque se leen después. Convertibilidad Si dos formas del mismo carácter están codificadas en diferentes posiciones en una codificación importante, también lo está Unicode. La conversión no es necesariamente 1:1: un carácter de una codificación diferente se puede convertir en varios caracteres Unicode y viceversa. Texto sin formato Unicode codifica texto sin formato sin decoración. Se cree que el texto sin formato debe almacenar suficientes datos para mostrarlo de forma legible, y nada más. Semántica Las propiedades de los caracteres se establecen formalmente mediante los formatos CSV y XML . Símbolos, no glifos Un símbolo es una unidad de significado. Glifo: una imagen contenida en una fuente y que se muestra en la pantalla/impresión. Por ejemplo, una escritura nasta'liq de estilo árabe tendría miles de glifos. Pero en la codificación hay unos 200 caracteres del árabe estándar que transmiten el significado. Por el contrario, a veces (ver unificación ) diferentes caracteres pueden tener el mismo glifo. Versatilidad Unicode está diseñado para personas de diferentes idiomas y profesiones: trabajando en negocios, educación, religión y ciencia, para textos modernos e históricos. Fuera de Unicode son: Unificación Unicode intenta no duplicar caracteres. Entonces, la letra inglesa "wai", la francesa "y" y la alemana "upsilon" tienen la misma posición de código Y. Además, los jeroglíficos chinos y japoneses similares son una posición de código. Hay varias excepciones importantes. Las letras similares de diferentes escrituras se codifican con diferentes posiciones de código. A menudo, las posiciones se duplican para simplificar el procesamiento; por ejemplo, en Unicode hay tres letras Ð con diferentes minúsculas. Un trazo matemático y el mismo trazo para indicar la suavidad de los sonidos  son símbolos diferentes, el segundo se considera una letra modificadora. La convertibilidad puede ir en contra de la unificación: el sigma griego en minúsculas tiene dos formas diferentes y son posiciones de código diferentes. Eficiencia Unicode está diseñado para que las implementaciones eficientes sean factibles. Los códigos de caracteres son números consecutivos del 0 al 10FFFF 16 , esto le permite trabajar con tablas de búsqueda . UTF-8 y UTF-16 son códigos de sincronización automática y los caracteres más importantes están disponibles sin decodificación. Unicode evita los caracteres de formato que cambian de estado interno. Y mucho más.

Política de consorcio

El consorcio no crea algo nuevo, sino que establece el orden de cosas establecido [67] . Por ejemplo, se agregaron imágenes de " emoji " porque los operadores móviles japoneses las usaban mucho. Para ello, añadir un personaje pasa por un proceso complicado [67] . Y, por ejemplo, el símbolo del rublo ruso lo aprobó en tres meses, tan pronto como recibió el estatus oficial, y antes de eso se había utilizado de facto durante muchos años y se le negó su inclusión en Unicode.

Las marcas registradas se codifican solo como una excepción. Por lo tanto, no hay una bandera de Windows o una bandera de Apple Apple en Unicode .

Los emoji no se ingresan en Unicode si: [68]

Caracteres combinables

Los caracteres en Unicode se dividen en básicos ( caracteres base en inglés  ) y combinados ( caracteres combinados en inglés ). Los símbolos combinados suelen seguir a la base y cambian su visualización de cierta manera. Los caracteres combinados, por ejemplo, incluyen signos diacríticos , acentos. Por ejemplo, la letra rusa "Y" en Unicode se puede escribir como el carácter base "И" (U+0418) y el carácter combinado "̆" (U+0306) se muestra encima del carácter base.  

Los caracteres combinados están marcados en las tablas de caracteres Unicode con categorías especiales:

Un tipo especial de caracteres combinables son los selectores de variación .  Solo afectan a aquellos caracteres base para los que se definen dichas variantes. Por ejemplo, en la versión 5.0 de Unicode, se definen caracteres variantes para una serie de símbolos matemáticos, para caracteres mongoles tradicionales y para caracteres cuadrados mongoles .

Algoritmos de normalización

Debido a la presencia de caracteres combinables en Unicode, los mismos caracteres pueden estar representados por diferentes códigos. Entonces, por ejemplo, la letra "Y" en el ejemplo anterior se puede escribir como un carácter separado o como una combinación de básico y combinado. Debido a esto, la comparación de cadenas byte a byte se vuelve imposible. Los formularios de normalización resuelven este problema al convertir los caracteres a un formulario estándar determinado .  El casting se lleva a cabo reemplazando caracteres con equivalentes usando tablas y reglas. “Descomposición” es la sustitución (descomposición) de un carácter en varios caracteres constituyentes, y “composición”, por el contrario, es la sustitución (combinación) de varios caracteres constituyentes por un carácter.

El estándar Unicode define cuatro algoritmos de normalización de texto: NFD, NFC, NFKD y NFKC.

DNF

NFD, ing.  n forma de normalización D (" D " del inglés  descomposición ), la forma de normalización D - descomposición canónica - un algoritmo según el cual se realiza la descomposición recursiva de caracteres compuestos (caracteres precompuestos en inglés  ) en una secuencia de uno o más caracteres simples de acuerdo con tablas de descomposición. Recursivo porque, en el proceso de descomposición, un carácter compuesto puede descomponerse en varios otros, algunos de los cuales también son compuestos, ya los que se les aplica una descomposición adicional.

Ejemplos:

Ω
U+2126
Ω
U+03A9
A
U+00C5
A
U+0041
̊
U+030A
s
U+1E69
s
U+0073
̣
U+0323
̇
U+0307
d
U+1E0B U+0323
d
U+0064
̣
U+0323
̇
U+0307
q̣̇
U+0071 U+0307 U+0323
q
U+0071
̣
U+0323
̇
U+0307

NFC

NFC, Inglés  En la forma de normalización C ( "C" del inglés c omposition ), la forma de normalización C es un algoritmo según el cual la descomposición canónica y la composición canónica se realizan secuencialmente. Primero, la descomposición canónica (el algoritmo NFD) reduce el texto a la forma D. Luego, la composición canónica, la inversa de NFD, procesa el texto de principio a fin, teniendo en cuenta las siguientes reglas:  

Ejemplo:

o
U+006F
̂
U+0302
o
U+00F4

NFKD

NFKD, ing.  formulario de normalización KD , formulario de normalización KD - descomposición compatible - un algoritmo según el cual la descomposición canónica y el reemplazo de caracteres de texto se realizan secuencialmente de acuerdo con las tablas de descomposición compatibles. Las tablas de descomposición de compatibilidad reemplazan símbolos casi equivalentes [69] :

Ejemplos:

U+210D
H
U+0048
U+2460
una
U+0031
U + FF76
U+30AB
U+FE37
{
U+007B
U+2079
9
U+0039
¼
U+00BC
una cuatro
U+0031 U+2044 U+0034
U+2122
T METRO
U+0054 U+004D

NFKC

NFKC, ing.  n forma de normalización KC , la forma de normalización KC es un algoritmo según el cual se realizan secuencialmente la descomposición compatible (algoritmo NFKD) y la composición canónica (algoritmo NFC) .

Ejemplos

Texto de origen DNF NFC NFKD NFKC
fi
U+FB01
fi
U+FB01
fi
U+FB01
F i
U+0066 U+0069
F i
U+0066 U+0069
2
U+0032 U+2075
2
U+0032 U+2075
2
U+0032 U+2075
2 5
U+0032 U+0035
2 5
U+0032 U+0035
F
U+1E9B U+0323
ſ ̣ ̇
U+017F U+0323 U+0307
F ̣
U+1E9B U+0323
s ̣ ̇
U+0073 U+0323 U+0307
s
U+1E69
el
U+0439
y ̆
U+0438 U+0306
el
U+0439
y ̆
U+0438 U+0306
el
U+0439
yo
U+0451
mi ̈
U+0435 U+0308
yo
U+0451
mi ̈
U+0435 U+0308
yo
U+0451
PERO
U+0410
PERO
U+0410
PERO
U+0410
PERO
U+0410
PERO
U+0410
U+304C
U+304B U+3099
U+304C
U+304B U+3099
U+304C
U+2167
U+2167
U+2167
V yo yo yo
U+0056 U+0049 U+0049 U+0049
V yo yo yo
U+0056 U+0049 U+0049 U+0049
C
U+00E7
C ̧
U+0063 U+0327
C
U+00E7
C ̧
U+0063 U+0327
C
U+00E7

Escritura bidireccional

El  estándar Unicode admite idiomas de escritura de izquierda a derecha (LTR ) y de derecha  a izquierda (RTL ) , como el árabe y el hebreo . En ambos casos, los caracteres se almacenan en un orden "natural"; su visualización, teniendo en cuenta la dirección de escritura deseada, la proporciona la aplicación.

Además, Unicode admite textos combinados que combinan fragmentos con diferentes direcciones de escritura. Esta característica se llama bidireccionalidad ( texto bidireccional en inglés  , BiDi ). Algunos procesadores de texto livianos (como los que se encuentran en los teléfonos celulares) pueden admitir Unicode, pero es posible que no admitan la bidireccionalidad. Todos los caracteres Unicode se dividen en varias categorías: escritos de izquierda a derecha, escritos de derecha a izquierda y escritos en cualquier dirección. Los caracteres de la última categoría (principalmente signos de puntuación ) toman la dirección del texto que los rodea cuando se muestran.

Personajes destacados

Unicode incluye prácticamente todos los scripts modernos , incluidos:

y otros.

Se han agregado muchas escrituras históricas con fines académicos, que incluyen: runas germánicas , runas turcas antiguas , escritura griega antigua , jeroglíficos egipcios , escritura cuneiforme , escritura maya , alfabeto etrusco .

Unicode proporciona una amplia gama de símbolos matemáticos y musicales , así como pictogramas .

Las banderas de los estados no se incluyen directamente en Unicode. Están codificados en pares de 26 caracteres alfabéticos diseñados para representar los códigos de país de dos letras ISO 3166-1 alfa-2 . Estas letras están codificadas en el rango U+1F1E6 🇦 símbolo de indicador regional letra a (HTML  🇦) a U+1F1FF 🇿 símbolo de indicador regional letra z (HTML  🇿).

Unicode excluye fundamentalmente los logotipos de empresas y productos , aunque sí aparecen en fuentes (por ejemplo, el logotipo de Apple en MacRoman (0xF0) o el logotipo de Windows en Wingdings (0xFF)). En las fuentes Unicode, los logotipos solo deben colocarse en el área de caracteres personalizados. Hay fuentes gratuitas que incluyen logotipos de empresas, productos de software y otras marcas comerciales (por ejemplo, Font Awesome [70] ).

ISO/IEC 10646

El Consorcio Unicode trabaja en estrecha colaboración con el Grupo de Trabajo ISO/IEC/JTC1/SC2/WG2, que está desarrollando la Norma Internacional 10646 ( ISO / IEC 10646). Existe sincronización entre el estándar Unicode e ISO/IEC 10646, aunque cada estándar utiliza su propia terminología y sistema de documentación.

La cooperación del Consorcio Unicode con la Organización Internacional de Normalización ( Organización Internacional de Normalización en inglés  , ISO ) comenzó en 1991 . En 1993, ISO lanzó DIS 10646.1. Para sincronizarse con él, el Consorcio aprobó el estándar Unicode versión 1.1, que incluía caracteres adicionales de DIS 10646.1. Como resultado, los valores de los caracteres codificados en Unicode 1.1 y DIS 10646.1 coincidieron exactamente.

En el futuro, continuó la cooperación entre las dos organizaciones. En 2000, el estándar Unicode 3.0 se sincronizó con ISO/IEC 10646-1:2000. La próxima tercera versión de ISO/IEC 10646 estará sincronizada con Unicode 4.0. Quizás estas especificaciones incluso se publiquen como un estándar único.

Similar a los formatos UTF-16 y UTF-32 de Unicode, ISO/IEC 10646 también tiene dos formas de codificación de caracteres principales: UCS-2 (2 bytes por carácter, similar a UTF-16) y UCS-4 (4 bytes por carácter, similar a UTF-16). a UTF-32). UCS significa conjunto de caracteres codificados universales .  UCS-2 puede considerarse un subconjunto de UTF-16 (UTF-16 sin pares sustitutos) y UCS-4 es un sinónimo de UTF-32.

Diferencias entre los estándares Unicode e ISO/IEC 10646:

Métodos de presentación

Unicode tiene varias formas de representación ( formato de transformación Unicode en inglés  , UTF ): UTF-8 , UTF-16 (UTF-16BE, UTF-16LE) y UTF-32 (UTF-32BE, UTF-32LE). También se desarrolló una forma de representación UTF-7 para la transmisión a través de canales de siete bits, pero debido a la incompatibilidad con ASCII, no se usó mucho y no se incluyó en el estándar. El 1 de abril de 2005 se propusieron dos formas de representación de chistes : UTF-9 y UTF-18 ( RFC 4042 ).

Microsoft Windows NT y sus sistemas basados ​​en Windows 2000 y Windows XP utilizan principalmente el formato UTF-16LE. Los sistemas operativos tipo UNIX GNU/Linux , BSD y Mac OS X adoptan el formato UTF-8 para archivos y UTF-32 o UTF-8 para procesamiento de caracteres en memoria .

Punycode  es otra forma de codificar secuencias de caracteres Unicode en las llamadas secuencias ACE, que consisten solo en caracteres alfanuméricos, según lo permitido en los nombres de dominio.

UTF-8

UTF-8 es la representación más compacta de Unicode y es retrocompatible con el sistema ASCII de 7 bits ; el texto que consta únicamente de caracteres con números inferiores a 128, cuando se escribe en UTF-8, se convierte en texto ASCII sin formato y puede visualizarse en cualquier programa que funcione con ASCII; por el contrario, el texto codificado en ASCII de 7 bits puede mostrarse mediante un programa diseñado para trabajar con UTF-8. El resto de los caracteres Unicode se representan como secuencias de 2 a 4 bytes de longitud, en las que el primer byte siempre tiene una máscara 11xxxxxxy el resto - 10xxxxxx. UTF-8 no utiliza pares sustitutos.

El formato UTF-8 fue inventado el 2 de septiembre de 1992 por Ken Thompson y Rob Pike e implementado en Plan 9 [71] . Ahora, el estándar UTF-8 está consagrado oficialmente en RFC 3629 e ISO/IEC 10646 Anexo D.

UTF-16 y UTF-32

UTF-16 es una codificación que le permite escribir caracteres Unicode en los rangos U + 0000 ... U + D7FF y U + E000 ... U + 10FFFF (número total 1 112 064). En este caso, cada carácter se escribe en una o dos palabras (un par sustituto). La codificación UTF-16 se describe en el Anexo Q del estándar internacional ISO/IEC 10646 y también se cubre en IETF RFC 2781 titulado "UTF-16, una codificación de ISO 10646".

UTF-32 es una forma de representar Unicode, donde cada carácter ocupa exactamente 4 bytes. La principal ventaja de UTF-32 sobre las codificaciones de longitud variable es que los caracteres Unicode que contiene son directamente indexables, por lo que encontrar un carácter por su número de posición de archivo puede ser extremadamente rápido, y obtener cualquier carácter en la posición n es una operación que siempre ocupa al mismo tiempo También hace que reemplazar caracteres en cadenas UTF-32 sea muy fácil. Por el contrario, las codificaciones de longitud variable requieren acceso secuencial a la posición del carácter enésimo , lo que puede ser una operación que consume mucho tiempo. La principal desventaja de UTF-32 es su uso ineficiente del espacio, ya que se utilizan cuatro bytes para almacenar cualquier carácter. Los caracteres que se encuentran fuera del plano cero (base) del espacio del código rara vez se usan en la mayoría de los textos. Por lo tanto, duplicar, en comparación con UTF-16, el espacio que ocupan las cadenas en UTF-32, a menudo no está justificado.

Endianismo

En un flujo de datos UTF-16, el byte bajo se puede escribir antes del byte alto ( UTF  -16 little-endian, UTF-16LE ) o después del byte alto ( UTF-16 big-endian, UTF-16BE ) .  Del mismo modo, existen dos variantes de la codificación de cuatro bytes: UTF-32LE y UTF-32BE.

Marcador de secuencia de bytes

Para indicar el uso de Unicode, al comienzo de un archivo de texto o secuencia, se puede transmitir una marca de orden de bytes (BOM) : un carácter  U + FEFF (espacio sin separación de ancho cero). Por su apariencia, se puede distinguir fácilmente tanto el formato de representación Unicode como la secuencia de bytes. El marcador de secuencia de bytes puede tomar la siguiente forma:

UTF-8 EF BB BF UTF-16BE FE FF UTF-16LE FF FE UTF-32BE 0000FEFF UTF-32LE FF FE 00 00

Unicode y codificaciones tradicionales

La introducción de Unicode ha llevado a un cambio en el enfoque de las codificaciones tradicionales de 8 bits. Si anteriormente dicha codificación siempre se establecía directamente, ahora se puede establecer mediante la tabla de correspondencia entre esta codificación y Unicode. De hecho, casi todas las codificaciones de 8 bits ahora se pueden considerar como una forma de representar algún subconjunto de Unicode. Y esto ha facilitado mucho la creación de programas que necesitan trabajar con muchas codificaciones diferentes: ahora, para agregar soporte para una codificación más, solo necesita agregar otra tabla de conversión de caracteres a Unicode.

Además, muchos formatos de datos le permiten insertar cualquier carácter Unicode, incluso si el documento está escrito en la antigua codificación de 8 bits. Por ejemplo, en HTML, puede usar códigos de ampersand .

Implementaciones

La mayoría de los sistemas operativos modernos brindan compatibilidad con Unicode hasta cierto punto.

La familia de sistemas operativos Windows NT utiliza la codificación UTF-16LE de dos bytes para representar internamente los nombres de archivo y otras cadenas del sistema. Las llamadas al sistema que toman parámetros de cadena vienen en variantes de un solo byte y de doble byte. Para obtener más información, consulte el artículo Unicode en los sistemas operativos de la familia Microsoft Windows .

Los sistemas operativos similares a UNIX , incluidos GNU/Linux , BSD , OS X , utilizan la codificación UTF-8 para representar Unicode. La mayoría de los programas pueden funcionar con UTF-8 como con las codificaciones tradicionales de un solo byte, independientemente del hecho de que un carácter se represente como varios bytes consecutivos. Para tratar con caracteres individuales, las cadenas generalmente se recodifican en UCS-4 para que cada carácter tenga una palabra de máquina correspondiente .

Una de las primeras implementaciones comerciales exitosas de Unicode fue el entorno de programación Java . Abandonó fundamentalmente la representación de caracteres de 8 bits en favor de 16 bits. Esta decisión aumentó el consumo de memoria, pero permitió devolver una abstracción importante a la programación: un solo carácter arbitrario (tipo char). En particular, el programador podría trabajar con una cadena como con una matriz simple. El éxito no fue definitivo, Unicode superó el límite de 16 bits y, para J2SE 5.0, un carácter arbitrario nuevamente comenzó a ocupar un número variable de unidades de memoria: una charo dos (ver par suplente ).

Ahora[ ¿cuándo? ] mayoría[ cuanto? Los lenguajes de programación admiten cadenas Unicode, aunque su representación puede variar según la implementación.

Métodos de entrada

Debido a que ningún diseño de teclado puede permitir que se ingresen todos los caracteres Unicode al mismo tiempo, se requiere que los sistemas operativos y los programas de aplicación admitan métodos alternativos para ingresar caracteres Unicode arbitrarios.

Microsoft Windows

A partir de Windows 2000 , la Utilidad de mapa de caracteres (charmap.exe) admite caracteres Unicode y permite copiarlos en el portapapeles . Solo se admite el plano base (códigos de caracteres U+0000…U+FFFF); caracteres con códigos de U + 10000 "Tabla de caracteres" no se muestra. Hay una tabla similar en Microsoft Word .

A veces, puede escribir un código hexadecimal , presionar Alt+ Xy el código se reemplazará con el carácter correspondiente, por ejemplo, en WordPad , Microsoft Word. En editores , Alt+ Xtambién realiza la transformación inversa. En los programas que se ejecutan en el entorno de Windows, para obtener un carácter Unicode, debe presionar la tecla Alt mientras presiona el valor decimal del código de carácter en el teclado numérico: por ejemplo, las combinaciones Alt + 0171 y Alt + 0187 se muestran a la izquierda y a la derecha. comillas en espiga , respectivamente, Alt + 0151 - guión largo, Alt + 0769 - signo de acento , Alt + 0133 - puntos suspensivos, etc.

macintosh

Mac OS 8.5 y versiones posteriores admiten un método de entrada llamado "Entrada hexadecimal Unicode". Mientras mantiene presionada la tecla Opción, debe escribir el código hexadecimal de cuatro dígitos del carácter requerido. Este método le permite ingresar caracteres con códigos mayores que U+FFFD usando pares de sustitutos; dichos pares serán reemplazados automáticamente por el sistema operativo con caracteres únicos. Este método de entrada debe activarse en la sección correspondiente de la configuración del sistema antes de su uso y luego seleccionarse como el método de entrada actual en el menú del teclado.

A partir de Mac OS X 10.2, también existe una aplicación de "Paleta de caracteres" que le permite seleccionar caracteres de una tabla en la que puede seleccionar caracteres de un bloque en particular o caracteres admitidos por una fuente en particular.

GNU/Linux

GNOME también tiene una utilidad "Charmap" ( anteriormente gucharmap) que le permite mostrar caracteres de un bloque o sistema de escritura en particular y brinda la capacidad de buscar por nombre o descripción de carácter. Cuando se conoce el código del carácter deseado, se puede ingresar de acuerdo con la norma ISO  14755: manteniendo presionadas las teclas Ctrl+ , ⇧ Shiftingrese el código hexadecimal (a partir de alguna versión de GTK+, el ingreso del código debe ir precedido de presionar la tecla tecla "U" ). El código hexadecimal que ingrese puede tener una longitud de hasta 32 bits , lo que le permite ingresar cualquier carácter Unicode sin usar pares sustitutos.

Todas las aplicaciones de X Window , incluidas GNOME y KDE , admiten la entrada de teclas Compose. Para los teclados que no tienen una tecla Compose dedicada , se puede asignar cualquier tecla para este fin, como . ⇪ Caps Lock

La consola GNU/Linux también permite ingresar un carácter Unicode por su código - para ello se debe ingresar el código decimal del carácter con los dígitos del bloque de teclado extendido mientras se mantiene presionada la tecla Alt. También puede introducir caracteres por su código hexadecimal: para ello mantenga pulsada la tecla AltGr, y para introducir los números A-F utilice las teclas del bloque de teclado ampliado de NumLocka ↵ Enter(en el sentido de las agujas del reloj). También se admite la entrada según ISO 14755. Para que funcionen los métodos enumerados, debe habilitar el modo Unicode en la consola llamando unicode_start(1) y seleccionar la fuente adecuada llamando setfont(8).

Mozilla Firefox para Linux admite la entrada de caracteres ISO 14755.

Problemas de Unicode

En Unicode, la "a" en inglés y la "a" en polaco son el mismo carácter. De la misma manera, la “a” rusa y la “a” serbia se consideran el mismo carácter (pero diferente de la “a” latina). Este principio de codificación no es universal; aparentemente, una solución "para todas las ocasiones" no puede existir en absoluto.

  • Los textos en chino , coreano y japonés se escriben tradicionalmente de arriba a abajo, comenzando desde la esquina superior derecha. El cambio de escritura horizontal y vertical para estos idiomas no se proporciona en Unicode; esto debe hacerse mediante lenguajes de marcado o mecanismos internos de procesadores de texto .
  • La presencia o ausencia en Unicode de diferentes estilos del mismo carácter, según el idioma. Se debe tener cuidado para asegurarse de que el texto esté siempre correctamente marcado como referencia a un idioma u otro. Entonces, los caracteres chinos pueden tener diferentes estilos en chino, japonés ( kanji ) y coreano ( hancha ), pero al mismo tiempo en Unicode se denotan por el mismo carácter (la llamada unificación CJK), aunque todavía se simplifican y completan los caracteres. tienen códigos diferentes. De manera similar, el ruso y el serbio usan diferentes estilos para las letras cursivas p y t (en serbio se ven como p ( i̅ ) y t ( sh̅ ), ver cursiva serbia ).
  • La traducción de minúsculas a mayúsculas también depende del idioma. Por ejemplo: en turco hay letras İi e Iı  ; por lo tanto, las reglas turcas para cambiar el caso entran en conflicto con el inglés , que requieren que "i" se traduzca a "I". Hay problemas similares en otros idiomas; por ejemplo, en el dialecto canadiense del francés, el caso se traduce de manera un poco diferente que en Francia [72] .
  • Incluso con los números arábigos , hay ciertas sutilezas tipográficas: los dígitos son "mayúsculas" y " minúsculas ", proporcionales y monoespaciados [73]  - para Unicode no hay diferencia entre ellos. Tales matices permanecen con el software.

Algunas de las deficiencias no están relacionadas con Unicode en sí, sino con las capacidades de los procesadores de texto.

  • Los archivos de texto no latinos en Unicode siempre ocupan más espacio, ya que un carácter no está codificado por un byte, como en varias codificaciones nacionales, sino por una secuencia de bytes (la excepción es UTF-8 para idiomas cuyo el alfabeto encaja en ASCII, así como la presencia de dos caracteres en el texto y más idiomas cuyo alfabeto no encaja en ASCII [74] ). El archivo de fuente para todos los caracteres en la tabla Unicode ocupa una cantidad relativamente grande de espacio de memoria y requiere más recursos informáticos que la fuente de un solo idioma nacional del usuario [75] . Con el aumento de la potencia de los sistemas informáticos y la reducción del coste de la memoria y el espacio en disco, este problema se vuelve cada vez menos importante; sin embargo, sigue siendo relevante para dispositivos portátiles como teléfonos móviles.
  • Aunque la compatibilidad con Unicode está implementada en los sistemas operativos más comunes, no todo el software de aplicación aún admite el trabajo correcto con él. En particular, las marcas de orden de bytes ( BOM ) no siempre se manejan y los signos diacríticos no son compatibles . El problema es temporal y es consecuencia de la novedad comparativa de los estándares Unicode (en comparación con las codificaciones nacionales de un solo byte).
  • El rendimiento de todos los programas de procesamiento de cadenas (incluida la clasificación en la base de datos) se reduce cuando se utiliza Unicode en lugar de codificaciones de un solo byte.

Algunos sistemas de escritura raros todavía no están representados correctamente en Unicode. La representación de superíndices "largos" que se extienden sobre varias letras, como en el eslavo eclesiástico , aún no se ha implementado.

Ortografía de la palabra "Unicode"

"Unicode" es tanto un nombre propio (o parte de un nombre, por ejemplo, el Consorcio Unicode) como un sustantivo común originario del idioma inglés.

A primera vista, parece preferible utilizar la grafía "Unicode". El idioma ruso ya tiene los morfemas "uni-" (las palabras con el elemento latino "uni-" se traducían y escribían tradicionalmente a través de "uni-": universal, unipolar, unificación, uniforme) y "código". En cambio, las marcas prestadas del inglés suelen transmitirse mediante una transcripción práctica, en la que la combinación desetimologizada de letras "uni-" se escribe como "uni-" (" Unilever ", " Unix ", etc.), es decir, exactamente igual que en el caso de las abreviaturas letra por letra, como UNICEF "Fondo Internacional de Emergencia para la Infancia de las Naciones Unidas" - UNICEF .

Hay una página dedicada en el sitio web del Consorcio que analiza los problemas de traducir la palabra "Unicode" en varios idiomas y sistemas de escritura. Para el alfabeto cirílico ruso, se indica la variante Unicode [1] . MS Windows también utiliza la variante "Unicode".

Wikipedia en ruso usa la variante Unicode como la más común.

Véase también

Notas

  1. 1 2 Transcripciones Unicode  (inglés)  (enlace no disponible) . Consultado el 10 de mayo de 2010. Archivado desde el original el 8 de abril de 2006.
  2. El estándar Unicode®: una introducción técnica (enlace descendente) . Consultado el 4 de julio de 2010. Archivado desde el original el 10 de marzo de 2010. 
  3. Historial de las fechas de lanzamiento y publicación de Unicode (enlace no disponible) . Consultado el 4 de julio de 2010. Archivado desde el original el 10 de enero de 2010. 
  4. El Consorcio Unicode (enlace descendente) . Consultado el 4 de julio de 2010. Archivado desde el original el 27 de junio de 2010. 
  5. 1 2 3 Prólogo (enlace descendente) . Consultado el 4 de julio de 2010. Archivado desde el original el 27 de junio de 2010. 
  6. 1 2 Estructura general (enlace inaccesible) . Fecha de acceso: 5 de julio de 2010. Archivado desde el original el 27 de junio de 2010. 
  7. ^ Escrituras alfabéticas europeas (enlace descendente) . Consultado el 4 de julio de 2010. Archivado desde el original el 27 de junio de 2010. 
  8. ¿Qué es Unicode?
  9. Unicode 88 (enlace no disponible) . Consultado el 8 de julio de 2010. Archivado desde el original el 6 de septiembre de 2017. 
  10. Unicode y Microsoft Windows NT  (inglés)  (enlace no disponible) . Soporte técnico de Microsoft . Consultado el 12 de noviembre de 2009. Archivado desde el original el 26 de septiembre de 2009.
  11. Casi el 50 % de los sitios web utilizan Unicode (enlace descendente) . Consultado el 9 de febrero de 2010. Archivado desde el original el 11 de junio de 2010. 
  12. Historia de las fechas de lanzamiento y publicación de Unicode
  13. Versiones enumeradas
  14. Acerca de las versiones
  15. Unicode® 1.0  . Consorcio Unicode . Recuperado: 8 de diciembre de 2017.
  16. Datos Unicode 1.0.0  . Consultado el 4 de diciembre de 2017.
  17. Datos Unicode 1.0.1  . Consultado el 4 de diciembre de 2017.
  18. Unicode® 1.1  . Consorcio Unicode . Recuperado: 8 de diciembre de 2017.
  19. Datos Unicode 1995  . Consultado el 4 de diciembre de 2017.
  20. Unicode  2.0.0 . Consorcio Unicode . Recuperado: 8 de diciembre de 2017.
  21. Datos Unicode 2.0.14  . Consultado el 4 de diciembre de 2017.
  22. Unicode  2.1.0 . Consorcio Unicode . Recuperado: 8 de diciembre de 2017.
  23. Datos Unicode 2.1.2  . Consultado el 4 de diciembre de 2017.
  24. Unicode  3.0.0 . Consorcio Unicode . Recuperado: 8 de diciembre de 2017.
  25. Datos Unicode 3.0.0  . Consultado el 4 de diciembre de 2017.
  26. Unicode 3.1.0  . Consorcio Unicode . Recuperado: 8 de diciembre de 2017.
  27. Datos Unicode 3.1.0  . Consultado el 4 de diciembre de 2017.
  28. Unicode 3.2.0  . Consorcio Unicode . Recuperado: 8 de diciembre de 2017.
  29. Datos Unicode 3.2.0  . Consultado el 4 de diciembre de 2017.
  30. Unicode 4.0.0  . Consorcio Unicode . Recuperado: 8 de diciembre de 2017.
  31. Datos Unicode 4.0.0  . Consultado el 4 de diciembre de 2017.
  32. Unicode  4.1.0 . Consorcio Unicode . Recuperado: 8 de diciembre de 2017.
  33. Datos Unicode 4.1.0  . Consultado el 4 de diciembre de 2017.
  34. Unicode 5.0.0  . Consorcio Unicode (14 de julio de 2006). Recuperado: 8 de diciembre de 2017.
  35. Datos Unicode 5.0.0  . Consultado el 4 de diciembre de 2017.
  36. Unicode 5.1.0  . Consorcio Unicode (4 de abril de 2008). Recuperado: 8 de diciembre de 2017.
  37. Datos Unicode 5.1.0  . Consultado el 4 de diciembre de 2017.
  38. Unicode® 5.2.0  . Consorcio Unicode (1 de octubre de 2009). Recuperado: 8 de diciembre de 2017.
  39. Datos Unicode  5.2.0 . Consultado el 4 de diciembre de 2017.
  40. Unicode® 6.0.0  . Consorcio Unicode (11 de octubre de 2010). Recuperado: 8 de diciembre de 2017.
  41. Datos Unicode  6.0.0 . Consultado el 4 de diciembre de 2017.
  42. Unicode® 6.1.0  . Consorcio Unicode (31 de enero de 2012). Recuperado: 8 de diciembre de 2017.
  43. Datos Unicode 6.1.0  . Consultado el 4 de diciembre de 2017.
  44. Unicode® 6.2.0  . Consorcio Unicode (26 de septiembre de 2012). Consultado el 7 de diciembre de 2017.
  45. Datos Unicode 6.2.0  . Consultado el 4 de diciembre de 2017.
  46. Unicode® 6.3.0  . Consorcio Unicode (30 de septiembre de 2012). Consultado el 7 de diciembre de 2017.
  47. Datos Unicode 6.3.0  . Consultado el 4 de diciembre de 2017.
  48. Unicode® 7.0.0  . Consorcio Unicode (16 de junio de 2014). Recuperado: 8 de diciembre de 2017.
  49. Datos Unicode  7.0.0 . Consultado el 4 de diciembre de 2017.
  50. Unicode® 8.0.0  . Consorcio Unicode (17 de junio de 2015). Recuperado: 8 de diciembre de 2017.
  51. Datos Unicode 8.0.0  . Consultado el 4 de diciembre de 2017.
  52. Unicode® 9.0.0  . Consorcio Unicode (21 de junio de 2016). Recuperado: 8 de diciembre de 2017.
  53. Datos Unicode 9.0.0  . Recuperado: 6 de diciembre de 2017.
  54. Unicode® 10.0.0  . Consorcio Unicode (27 de junio de 2017). Recuperado: 8 de diciembre de 2017.
  55. Datos Unicode 10.0.0  . Consultado el 7 de diciembre de 2017.
  56. Datos Unicode 11.0.0  . Fecha de acceso: 12 de abril de 2019.
  57. El blog de Unicode: Anuncio del estándar Unicode®, versión 11.0
  58. Unicode 11.0.0
  59. El blog de Unicode: Anuncio del estándar Unicode®, versión 12.0
  60. Unicode 12.0.0
  61. The Unicode Blog: Lanzamiento de la versión 12.1 de Unicode en apoyo de la Era Reiwa
  62. Unicode 12.1.0
  63. The Unicode Blog: Anuncio del estándar Unicode, versión 13.0
  64. Unicode 13.0.0
  65. Hoja de ruta hacia el TIP (Plano Ideográfico Terciario)
  66. Política de estabilidad de codificación de caracteres Unicode
  67. 1 2 Preguntas frecuentes - Emoji y Dingbats
  68. Directrices para enviar propuestas de emojis Unicode®
  69. Normalización Unicode
  70. GitHub - FortAwesome/Font-Awesome: El icónico conjunto de herramientas de SVG, fuente y CSS
  71. Copia archivada (enlace no disponible) . Consultado el 27 de febrero de 2007. Archivado desde el original el 29 de octubre de 2006.    (Inglés)
  72. El caso Unicode es complicado
  73. La mayoría de las fuentes de PC implementan números monoespaciados "mayúsculas" (mayúsculas).
  74. En algunos casos, un documento (no texto sin formato) en Unicode puede ocupar mucho menos espacio que un documento en una codificación de un solo byte. Por ejemplo, si una determinada página web contiene aproximadamente partes iguales de texto en ruso y griego, en una codificación de un solo byte, deberá escribir letras rusas o griegas utilizando las capacidades del formato del documento, en forma de códigos con un ampersand, que toma 6-7 bytes por carácter (cuando se usan códigos decimales), es decir, en promedio, habrá 3.5-4 bytes por letra, mientras que UTF-8 toma solo 2 bytes por letra griega o rusa.
  75. Uno de los archivos de fuente Arial Unicode tiene 24 megabytes; Hay un Times New Roman de 120 megas, contiene un número de caracteres cercano a los 65536.

Enlaces