Diferencia entre revisiones de «Unicode»
ortografía |
m Revertidos los cambios de 193.144.2.254 (disc.) a la última edición de 190.230.0.213 |
||
Línea 1: | Línea 1: | ||
⚫ | El '''Estándar Unicode''' es un [[estandarización|estándar]] de codificación de caracteres diseñado para facilitar el tratamiento informático, transmisión y visualización de textos de múltiples lenguajes y disciplinas técnicas además de textos clásicos de lenguas muertas. El término Unicode proviene de los tres objetivos perseguidos: universalidad, uniformidad y unicidad.<ref name="RESUMEN-HISTORICO">{{cita web |url=http://www.unicode.org/history/summary.html |título= Resumen histórico |editorial= Unicode, Inc. |fechaacceso=21 de mayo de 2009}}</ref> |
||
zazazadfgses —[[grafema]]s— definiéndolos de forma abstracta y deja la representación visual (tamaño, dimensión, fuente o estilo) al software que lo trate, como [[procesador de texto|procesadores de texto]] o [[navegador web|navegadores web]]. Se incluyen letras, signos diacríticos, caracteres de puntuación, ideogramas, caracteres silábicos, caracteres de control y otros símbolos. Los caracteres se agrupan en alfabetos o sistemas de escritura. Se considera que son diferentes los caracteres de alfabetos distintos, aunque compartan forma y significación. |
|||
⚫ | |||
⚫ | | |
||
Unicode especifica un nombre e identificador numérico único para cada carácter o símbolo, el ''code point'' o ''punto de código'', además de otras informaciones necesarias para su uso correcto: direccionalidad, capitalización y otros atributos. Unicode trata los caracteres alfabéticos, ideográficos y símbolos de forma equivalente, lo que significa que se pueden mezclar en un mismo texto sin la introducción de marcas o caracteres de control.<ref name="UNICODE-ABOUT">{{cita web |url= http://www.unicode.org/standard/standard.html |título= About the Unicode Standard |editorial= Unicode, Inc. |fechaacceso=21 de mayo de 2009}}</ref> |
Unicode especifica un nombre e identificador numérico único para cada carácter o símbolo, el ''code point'' o ''punto de código'', además de otras informaciones necesarias para su uso correcto: direccionalidad, capitalización y otros atributos. Unicode trata los caracteres alfabéticos, ideográficos y símbolos de forma equivalente, lo que significa que se pueden mezclar en un mismo texto sin la introducción de marcas o caracteres de control.<ref name="UNICODE-ABOUT">{{cita web |url= http://www.unicode.org/standard/standard.html |título= About the Unicode Standard |editorial= Unicode, Inc. |fechaacceso=21 de mayo de 2009}}</ref> |
||
⚫ | Este estándar es mantenido por el ''Unicode Technical Committee'' (UTC), integrado en el Unicode Consortium, del que forman parte con distinto grado de implicación empresas como: Microsoft, Apple, Adobe, IBM, Oracle, SAP, Google, instituciones como la Universidad de Berkeley, y profesionales y académicos a título individual.<ref name="UNICODE-MEMBERS">{{cita web |url= http://www.unicode.org/standard/standard.html |título= The Unicode Consortium Members |editorial= Unicode, Inc. |fechaacceso=21 de mayo de 2009}}</ref> El Unicode Consortium mantiene estrecha relación con ISO/IEC, con la que mantiene un acuerdo desde 1991 con el objetivo de mantener la sincronización entre sus estándares que contienen los mismos caracteres y puntos de código.<ref name="UNICODE-ISO">{{cita libro |autor= The Unicode Consortium |editor= Julie D. Allen, Joe Becker (et al.) |título= Unicode 5.0 standard|capítulo=Appendix C. Relationship to ISO/IEC10646 |url=http://www.unicode.org/versions/Unicode5.0.0/appC.pdf |fecha= [[octubre de 2006]] |año= [[2006]] |mes= [[octubre]] |editorial= Addisson-Wesley |idioma= Inglés |isbn= 0-321-48091-0}}</ref> |
||
⚫ | |||
El establecimiento de Unicode ha sido un ambicioso proyecto para reemplazar los esquemas de [[codificación de caracteres]] existentes, muchos de los cuales están muy limitados en tamaño y son incompatibles con entornos plurilingües. Unicode se ha vuelto el más extenso y completo esquema de codificación de caracteres, siendo el dominante en la [[Internacionalización (computación)|internacionalización]] y adaptación local del [[software|software informático]]. El estándar ha sido implementado en un número considerable de tecnologías recientes, que incluyen [[XML]], [[Lenguaje de programación Java|Java]] y [[sistemas operativos]] modernos. |
El establecimiento de Unicode ha sido un ambicioso proyecto para reemplazar los esquemas de [[codificación de caracteres]] existentes, muchos de los cuales están muy limitados en tamaño y son incompatibles con entornos plurilingües. Unicode se ha vuelto el más extenso y completo esquema de codificación de caracteres, siendo el dominante en la [[Internacionalización (computación)|internacionalización]] y adaptación local del [[software|software informático]]. El estándar ha sido implementado en un número considerable de tecnologías recientes, que incluyen [[XML]], [[Lenguaje de programación Java|Java]] y [[sistemas operativos]] modernos. |
||
Línea 16: | Línea 12: | ||
{{Cuadroimagen |
{{Cuadroimagen |
||
|width=350 |
|width=350 |
||
|caption= Caracter alfabético latino ''A'', sílaba devanagari Aum (Om), e ideograma chino yue (luna). |
|||
|align=right |
|align=right |
||
|content=[[Archivo:Letter A.svg|100px]] [[Archivo:Aum.svg|100px]] [[Archivo:074 - yue4 - moon.svg|101px]] |
|content=[[Archivo:Letter A.svg|100px]] [[Archivo:Aum.svg|100px]] [[Archivo:074 - yue4 - moon.svg|101px]] |
||
Línea 22: | Línea 18: | ||
Unicode incluye todos los caracteres de uso común en la actualidad. La versión 5.1 contiene 100.713 caracteres provenientes de alfabetos, sistemas ideográficos y colecciones de símbolos (matemáticos, técnicos, musicales, iconos...). La cifra crece en cada versión. |
Unicode incluye todos los caracteres de uso común en la actualidad. La versión 5.1 contiene 100.713 caracteres provenientes de alfabetos, sistemas ideográficos y colecciones de símbolos (matemáticos, técnicos, musicales, iconos...). La cifra crece en cada versión. |
||
Unicode incluye sistemas de escritura modernos como: [[Alfabeto árabe|Árabe]], [[Braille (lectura)|Braille]], [[Alfabeto copto|Copto]], [[Alfabeto cirílico|Cirílico]], [[Alfabeto griego|Griego]], [[Escritura china|Han]] ([[Kanji]], [[Hanja]] y [[Hanzi]]), [[Escritura japonesa|Japonés]] ([[Kanji]], [[Hiragana]] y [[Katakana]]), [[Alfabeto hebreo|Hebreo]] y [[Alfabeto latino|Latino]]. Escrituras históricas menos utilizadas, incluso aquellas extinguidas, para propósitos académicos, como por ejemplo: [[Escritura cuneiforme|Cuneiforme]], [[Alfabeto griego|Griego antiguo]], [[Lineal B]] micénico, [[Alfabeto fenicio|Fenicio]] y [[Runa (escritura)|Rúnico]]. Entre los caracteres que no forman parte de alfabetos se encuentran símbolos musicales y |
Unicode incluye sistemas de escritura modernos como: [[Alfabeto árabe|Árabe]], [[Braille (lectura)|Braille]], [[Alfabeto copto|Copto]], [[Alfabeto cirílico|Cirílico]], [[Alfabeto griego|Griego]], [[Escritura china|Han]] ([[Kanji]], [[Hanja]] y [[Hanzi]]), [[Escritura japonesa|Japonés]] ([[Kanji]], [[Hiragana]] y [[Katakana]]), [[Alfabeto hebreo|Hebreo]] y [[Alfabeto latino|Latino]]. Escrituras históricas menos utilizadas, incluso aquellas extinguidas, para propósitos académicos, como por ejemplo: [[Escritura cuneiforme|Cuneiforme]], [[Alfabeto griego|Griego antiguo]], [[Lineal B]] micénico, [[Alfabeto fenicio|Fenicio]] y [[Runa (escritura)|Rúnico]]. Entre los caracteres que no forman parte de alfabetos se encuentran símbolos musicales y matemáticos, fichas de juegos como el dominó, flechas, iconos, etc. Además Unicode dispone de versiones predefinidas de la mayoría de combinaciones de letras y símbolos diacríticos en uso en la actualidad y define mecanismos de combinación de caracteres. |
||
Actualmente se está trabajando en la inclusión de nuevos grupos de símbolos como los jeroglíficos egipcios y mayas.<ref name="UNICODE-ROADMAP">{{cita web |url= http://www.unicode.org/roadmaps/index.html |título= Roadmaps to Unicode |editorial= Unicode, Inc. |fechaacceso=21 de mayo de 2009}}</ref> Otros alfabetos propuestos han sido descartados por distintas razones, como por ejemplo el alfabeto [[Klingon]].<ref name="UNICODE-ROADMAP" /><ref name="UNICODE-RECHAZO">{{cita web |url= http://unicode.org/alloc/nonapprovals.html |título= Archive of Notices of Non-Approval |editorial= Unicode, Inc. |fechaacceso=21 de mayo de 2009}}</ref> |
Actualmente se está trabajando en la inclusión de nuevos grupos de símbolos como los jeroglíficos egipcios y mayas.<ref name="UNICODE-ROADMAP">{{cita web |url= http://www.unicode.org/roadmaps/index.html |título= Roadmaps to Unicode |editorial= Unicode, Inc. |fechaacceso=21 de mayo de 2009}}</ref> Otros alfabetos propuestos han sido descartados por distintas razones, como por ejemplo el alfabeto [[Klingon]].<ref name="UNICODE-ROADMAP" /><ref name="UNICODE-RECHAZO">{{cita web |url= http://unicode.org/alloc/nonapprovals.html |título= Archive of Notices of Non-Approval |editorial= Unicode, Inc. |fechaacceso=21 de mayo de 2009}}</ref> |
||
Como ya se ha |
Como ya se ha indicado, Unicode está sincronizado con el estándar ISO/IEC 10646:2003, conocido como [[UCS]] o juego de caracteres universal. Desde un punto de vista técnico, incluye codificaciones anteriores como ASCII7 o [[ISO 8859-1]], los estándares nacionales ANSI Z39.64, KS X 1001, JIS X 0208, JIS X 0212, JIS X 0213, GB 2312, GB 18030, [[HKSCS]], y [[CNS 11643]], codificaciones particulares de fabricantes de software como Apple, Adobe, Microsoft, IBM, etc. Además, Unicode reserva espacio para uso privado por fabricantes de software.<ref name="UNICODE">{{cita libro |autor= The Unicode Consortium |editor= Julie D. Allen, Joe Becker (et al.) |título= Unicode 5.0 standard |url=http://www.unicode.org/versions/Unicode5.0.0/bookmarks.html |fecha= [[octubre de 2006]] |año= [[2006]] |mes= [[octubre]] |editorial= Addisson-Wesley |idioma= Inglés |isbn= 0-321-48091-0}}</ref> |
||
== Principios de diseño == |
== Principios de diseño == |
||
Línea 34: | Línea 30: | ||
* '''Universalidad''': Un repertorio suficientemente amplio que albergue a todos los caracteres probables en el intercambio de texto multilingüe. |
* '''Universalidad''': Un repertorio suficientemente amplio que albergue a todos los caracteres probables en el intercambio de texto multilingüe. |
||
* '''Eficiencia''': Las secuencias generadas deben ser fáciles de tratar. |
* '''Eficiencia''': Las secuencias generadas deben ser fáciles de tratar. |
||
* '''No ambigüedad''': Un código dado siempre representa el mismo carácter. |
|||
* '''No ambigüedaado, Unicode está sincronizado con el estándar ISO/IEC 10646:2003, conocido como [[UCS]] o juego de caracteres universal. Desde un punto de vista técnico, incluye codificaciones anteriores como ASCII7 o [[ISO 8859-1]], los estándares nacionales ANSI Z39.64, KS X 1001, JIS X 0208, JIS X 0212, JIS X 0213, GB 2312, GB 18030, [[HKSCS]], y [[CNS 11643]], codificaciones particulares de fabricantes de software como Apple, Adobe, Microsoft, IBM, etc. Además, Unicode reserva espacio para uso privado por fabricantes de software.<ref name="UNICODE">{{cita libro |autor= The Unicode Consortium |editor= Julie D. Allen, Joe Becker (et al.) |título= Unicode 5.0 standard |urd''': Un código dado siempre representa el mismo carácter. |
|||
== Elementos del estándar Unicode == |
== Elementos del estándar Unicode == |
||
=== Caracteres, puntos de código y espacio de códigos === |
=== Caracteres, puntos de código y espacio de códigos === |
||
El elemento básico del estándar Unicode es el [[carácter]]. Se considera un carácter al elemento más pequeño de un lenguaje escrito con significado. El estándar Unicode codifica los caracteres |
El elemento básico del estándar Unicode es el [[carácter]]. Se considera un carácter al elemento más pequeño de un lenguaje escrito con significado. El estándar Unicode codifica los caracteres esenciales —[[grafema]]s— definiéndolos de forma abstracta y deja la representación visual (tamaño, dimensión, fuente o estilo) al software que lo trate, como [[procesador de texto|procesadores de texto]] o [[navegador web|navegadores web]]. Se incluyen letras, signos diacríticos, caracteres de puntuación, ideogramas, caracteres silábicos, caracteres de control y otros símbolos. Los caracteres se agrupan en alfabetos o sistemas de escritura. Se considera que son diferentes los caracteres de alfabetos distintos, aunque compartan forma y significación. |
||
⚫ | Los caracteres se identifican mediante un número o punto de código y su nombre o descripción. Cuando se ha asignado un código a un carácter, se dice que dicho carácter está ''codificado''. El espacio para códigos tiene 1.114.112 posiciones posibles (0x10FFFF). Los puntos de código se representan utilizando notación hexadecimal agregando el prefijo U+. El valor hexadecimal se completa con ceros hasta 4 dígitos hexadecimales cuando es necesario; si es de longitud mayor que 4 dígitos no se agregan ceros. |
||
==== Organización del espacio de códigos ==== |
|||
Con excepciones, los ce agregan ceros. |
|||
==== Base de datos de caracteres ==== |
==== Base de datos de caracteres ==== |
||
El conjunto de caracteres codificados por Unicode, es la Base de Datos Unicode o UCD (''Unicode Character Database''). Además de nombre y punto de código, incluye mas información: alfabeto al que pertenece, nombre, clasificación, capitalización, orientación y otras formas de uso, variantes estandarizadas, |
El conjunto de caracteres codificados por Unicode, es la Base de Datos Unicode o UCD (''Unicode Character Database''). Además de nombre y punto de código, incluye mas información: alfabeto al que pertenece, nombre, clasificación, capitalización, orientación y otras formas de uso, variantes estandarizadas, reglas de combinación, etc. |
||
==== Organización del espacio de códigos ==== |
|||
Con excepciones, los caracteres codificados sea agrupan en el espacio de códigos siguiendo categorías como alfabeto o sistema de escritura, de forma que caracteres relacionados se encuentren cerca en tablas de codificación. |
|||
=== Planos === |
=== Planos === |
Revisión del 18:45 5 oct 2009
El Estándar Unicode es un estándar de codificación de caracteres diseñado para facilitar el tratamiento informático, transmisión y visualización de textos de múltiples lenguajes y disciplinas técnicas además de textos clásicos de lenguas muertas. El término Unicode proviene de los tres objetivos perseguidos: universalidad, uniformidad y unicidad.[1]
Unicode especifica un nombre e identificador numérico único para cada carácter o símbolo, el code point o punto de código, además de otras informaciones necesarias para su uso correcto: direccionalidad, capitalización y otros atributos. Unicode trata los caracteres alfabéticos, ideográficos y símbolos de forma equivalente, lo que significa que se pueden mezclar en un mismo texto sin la introducción de marcas o caracteres de control.[2]
Este estándar es mantenido por el Unicode Technical Committee (UTC), integrado en el Unicode Consortium, del que forman parte con distinto grado de implicación empresas como: Microsoft, Apple, Adobe, IBM, Oracle, SAP, Google, instituciones como la Universidad de Berkeley, y profesionales y académicos a título individual.[3] El Unicode Consortium mantiene estrecha relación con ISO/IEC, con la que mantiene un acuerdo desde 1991 con el objetivo de mantener la sincronización entre sus estándares que contienen los mismos caracteres y puntos de código.[4]
El establecimiento de Unicode ha sido un ambicioso proyecto para reemplazar los esquemas de codificación de caracteres existentes, muchos de los cuales están muy limitados en tamaño y son incompatibles con entornos plurilingües. Unicode se ha vuelto el más extenso y completo esquema de codificación de caracteres, siendo el dominante en la internacionalización y adaptación local del software informático. El estándar ha sido implementado en un número considerable de tecnologías recientes, que incluyen XML, Java y sistemas operativos modernos.
La descripción completa del estándar y las tablas de caracteres están disponibles en la página web oficial de Unicode [1]. La referencia completa se publica, además, en forma de libro impreso cada vez que se libera una nueva versión principal. La versión digital de este libro está disponible de forma gratuita. Las revisiones y adiciones se publican de forma independiente.
Cobertura
Unicode incluye todos los caracteres de uso común en la actualidad. La versión 5.1 contiene 100.713 caracteres provenientes de alfabetos, sistemas ideográficos y colecciones de símbolos (matemáticos, técnicos, musicales, iconos...). La cifra crece en cada versión.
Unicode incluye sistemas de escritura modernos como: Árabe, Braille, Copto, Cirílico, Griego, Han (Kanji, Hanja y Hanzi), Japonés (Kanji, Hiragana y Katakana), Hebreo y Latino. Escrituras históricas menos utilizadas, incluso aquellas extinguidas, para propósitos académicos, como por ejemplo: Cuneiforme, Griego antiguo, Lineal B micénico, Fenicio y Rúnico. Entre los caracteres que no forman parte de alfabetos se encuentran símbolos musicales y matemáticos, fichas de juegos como el dominó, flechas, iconos, etc. Además Unicode dispone de versiones predefinidas de la mayoría de combinaciones de letras y símbolos diacríticos en uso en la actualidad y define mecanismos de combinación de caracteres.
Actualmente se está trabajando en la inclusión de nuevos grupos de símbolos como los jeroglíficos egipcios y mayas.[5] Otros alfabetos propuestos han sido descartados por distintas razones, como por ejemplo el alfabeto Klingon.[5][6]
Como ya se ha indicado, Unicode está sincronizado con el estándar ISO/IEC 10646:2003, conocido como UCS o juego de caracteres universal. Desde un punto de vista técnico, incluye codificaciones anteriores como ASCII7 o ISO 8859-1, los estándares nacionales ANSI Z39.64, KS X 1001, JIS X 0208, JIS X 0212, JIS X 0213, GB 2312, GB 18030, HKSCS, y CNS 11643, codificaciones particulares de fabricantes de software como Apple, Adobe, Microsoft, IBM, etc. Además, Unicode reserva espacio para uso privado por fabricantes de software.[7]
Principios de diseño
El estándar fue diseñado con los siguientes objetivos:
- Universalidad: Un repertorio suficientemente amplio que albergue a todos los caracteres probables en el intercambio de texto multilingüe.
- Eficiencia: Las secuencias generadas deben ser fáciles de tratar.
- No ambigüedad: Un código dado siempre representa el mismo carácter.
Elementos del estándar Unicode
Caracteres, puntos de código y espacio de códigos
El elemento básico del estándar Unicode es el carácter. Se considera un carácter al elemento más pequeño de un lenguaje escrito con significado. El estándar Unicode codifica los caracteres esenciales —grafemas— definiéndolos de forma abstracta y deja la representación visual (tamaño, dimensión, fuente o estilo) al software que lo trate, como procesadores de texto o navegadores web. Se incluyen letras, signos diacríticos, caracteres de puntuación, ideogramas, caracteres silábicos, caracteres de control y otros símbolos. Los caracteres se agrupan en alfabetos o sistemas de escritura. Se considera que son diferentes los caracteres de alfabetos distintos, aunque compartan forma y significación.
Los caracteres se identifican mediante un número o punto de código y su nombre o descripción. Cuando se ha asignado un código a un carácter, se dice que dicho carácter está codificado. El espacio para códigos tiene 1.114.112 posiciones posibles (0x10FFFF). Los puntos de código se representan utilizando notación hexadecimal agregando el prefijo U+. El valor hexadecimal se completa con ceros hasta 4 dígitos hexadecimales cuando es necesario; si es de longitud mayor que 4 dígitos no se agregan ceros.
Base de datos de caracteres
El conjunto de caracteres codificados por Unicode, es la Base de Datos Unicode o UCD (Unicode Character Database). Además de nombre y punto de código, incluye mas información: alfabeto al que pertenece, nombre, clasificación, capitalización, orientación y otras formas de uso, variantes estandarizadas, reglas de combinación, etc.
Organización del espacio de códigos
Con excepciones, los caracteres codificados sea agrupan en el espacio de códigos siguiendo categorías como alfabeto o sistema de escritura, de forma que caracteres relacionados se encuentren cerca en tablas de codificación.
Planos
Por conveniencia se ha dividido el espacio de códigos en grandes grupos denominados planos. Cada plano contiene un máximo de 65.535 caracteres. Dado un punto de código expresado en hexadecimal, los 4 últimos dígitos determinan la posición del carácter en el plano.
- Plano básico multilingüe: BMP o plano 0. Contiene la mayor parte de los alfabetos modernos, incluyendo los caracteres más comunes del sistema CJK, otros caracteres históricos o poco habituales y 6.400 posiciones reservadas para uso privado.
- Plano suplementario multilingüe: SMP o plano 1. Alfabetos históricos de menor uso y sistemas de uso técnico u otros usos.
- Plano suplementario ideográfico: SIP o plano 2. Contiene los caracteres del sistema CJK que no se incluyen en el plano 0. La mayoría son caracteres muy raros o de interés histórico.
- Plano de propósito especial: SSP o plano 14. Área para caracteres de control que no se han introducido en el plano 0.
- Planos de uso privado: Planos 15 y 16. Reservados para uso privado por fabricantes de software.
Áreas y Bloques
Los distintos planos se dividen en áreas de direccionamiento en función de los tipos generales que incluyen. Esta división es convencional, no reglada y puede variar con el tiempo. Las áreas se dividen, a su vez, en bloques. Los bloques están definidos normativamente y son rangos consecutivos del espacio de códigos. Los bloques se utilizan para formar las tablas impresas de caracteres pero no deben tomarse como definiciones de grupos significativos de caracteres.
Repertorio de caracteres
Tipos de caracteres
Los bloques del espacio de códigos contienen puntos con la siguiente información:[8]
Caracteres gráficos: Letras, signos diacríticos, números, caracteres de puntuación, símbolos y espacios.
Caracteres de formato: Caracteres invisibles que afectan al proceso del texto próximo. Ejemplos: U+2028 salto de línea, U+2029 salto de párrafo, U+00A0 no break space, etc.
Códigos de control: 65 códigos definidos por compatibilidad con ISO/IEC 2022. Son los caracteres entre en los rangos [U+0000,U+001F], U+007F y [U+0080..U+009F]. Interpretarlos es responsabilidad de protocolos superiores.
Caracteres privados: Reservados para el uso fuera del estándar por fabricantes de software.
Caracteres reservados: Códigos reservados para su uso por Unicode. Son posiciones no asignadas.
Puntos de código subrogados: Unicode reserva los puntos de código de U+D800 a U+DFFF para su uso como códigos subrogados en UTF-16, en la representación de caracteres suplementarios.
No-caracteres: Son códigos reservados permanentemente para uso interno por Unicode. Los dos últimos puntos de cada plano U+FFFE y U+FFFF.
Caracteres descartados: Son caracteres que se retienen por compatibilidad conversiones anteriores, pero se debe evitar su uso.
Repertorio unificado chino, coreano y japonés
Los ideogramas de Asia oriental (popularmente llamados caracteres chinos) se denominan ideogramas Han en el Estándar Unicode. Estos ideogramas se desarrollaron en China y fueron adaptados por culturas próximas para su propio uso.[9][10] Japón, Corea y Vietnam desarrollaron sus propios sistemas alfabéticos o silábicos para usar en combinación con los símbolos chinos: hiragana y katakana en Japón, hangul en Corea y Yi en Vietnam. La evolución natural de los sistemas de escritura y los distintos momentos de entrada de los caracteres en las distintas culturas han marcado diferencias en los ideogramas utilizados. Unicode considera las distintas versiones de los ideogramas como variantes de un mismo carácter abstracto, es decir, como resultado de la aplicación de un tipo de letra diferente en cada caso y considera las variantes nacionales como pertenecientes a un mismo sistema de escritura. La versión original del estándar se desarrolló a partir de los estándares industriales existentes en los paises afectados.
El organismo encargado de desarrollar el repertorio de caracteres es el Ideographic Rapporteur Group (IRG). IRG es un grupo de trabajo integrado en ISO/IEC JTC1/SC2/WG2, incluyendo a China, Hong Kong, Macao, Taipei Computer Association, Singapur, Japón, Corea del Sur, Corea del Norte , Vietnam y Estados Unidos de América.[9]
La base de datos de caracteres CJK se denomina Unihan y contiene, además, información auxiliar sobre significado, conversiones, datos necesarios para utilizarlos en los diferentes lenguajes que los utilizan. A continuación se muestran los bloques que describen este repertorio. IRG define los caracteres de los tres grupos unificados, los siguientes dos grupos contienen caracteres para compatibilidad con estándares anteriores.
Bloque | Rango de códigos | Comentarios |
Ideogramas unificados CJK | 4E00-9FFF | Ideogramas de uso común. Tamaño de código 2 bytes. |
Ideogramas unificados CJK - Extensión A | 3400-4DFF | Ideogramas de uso poco habitual. Tamaño de código 2 bytes. |
Ideogramas unificados CJK - Extensión B | 20000-2A6DF | Ideogramas de uso poco habitual e históricos. |
Ideogramas de compatibilidad | F900-FAFF | Duplicados, variantes unificables y caracteres corporativos. Tamaño de código 2 bytes. |
Suplemento de ideogramas de compatibilidad | 2F800-2FA1F | Variantes unificables. |
Composición de caracteres y secuencias
Unicode incluye un mecanismo para formar caracteres y así extender el repertorio de compatibilidad con los símbolos existentes. Un carácter base se complementa con marcas: signos diacríticos, de puntuación o marcos. El tipo de cada carácter y sus atributos definen el papel que pueden jugar en una combinación. Por este motivo, puede haber varias opciones que representen el mismo carácter. Para facilitar la compatibilidad con codificaciones anteriores, se proporcionan caracteres precompuestos; en la definición de dichos caracteres se hace constar qué caracteres intervienen en la composición.
Un grupo de caracteres consecutivos, independientemente de su tipo, forma una secuencia. En caso de que varias secuencias representen el mismo conjunto de caracteres esenciales, el estándar no define una de ellas como 'correcta', sino que las considera equivalentes. Para poder identificar dichas equivalencias, Unicode define los mecanismos de equivalencia canónica y de equivalencia de compatibilidad basados en la obtención de formas normalizadas de las cadenas a comparar.
Secuencias de descripción ideográfica
Se admite que nunca se podrá finalizar la tarea de incluir ideogramas en el estándar debido, principalmente, a que la creación de nuevos ideogramas continúa. A fin de suplir eventuales carencias, Unicode ofrece un mecanismo que permite la representación de los símbolos que faltan denominado secuencias de descripción ideográfica. Se basa en que la práctica totalidad de los ideogramas se puede descomponer en piezas más pequeñas que, a su vez, son ideogramas. Aunque sea posible la representación de un símbolo mediante una secuencia, el estándar especifica que siempre que exista una versión codificada su uso debe ser preferente. No hay un método para la descomposición canónica de ideogramas ni algoritmos de equivalencia por lo que las operaciones sobre el texto, como búsqueda u ordenación, pueden fallar.
Unicode define 12 caracteres diferentes para la descripción de ideogramas representando distintas posibilidades de combinación espacial de otros caracteres Han.
Tratamiento de la información
Formas de codificación
Los puntos de código de Unicode se identifican por un número entero. Según su arquitectura, un ordenador utilizará unidades de 8, 16 o 32 bits para representar dichos enteros. Las formas de codificación de Unicode reglamentan la forma en que los puntos de código se transformarán en unidades tratables por el computador.
Unicode define tres formas de codificación bajo el nombre UTF o Formato de Transformación Unicode (Unicode Transformation Format):[11]
- UTF-8 — codificación orientada a byte con símbolos de longitud variable.
- UTF-16 — codificación de 16 bits de longitud variable optimizada para la representación del plano básico multilingüe (BMP).
- UTF-32 — codificación de 32 bits de longitud fija, y la más sencilla de las tres.
Las formas de codificación se limitan a describir el modo en que se representan los puntos de código en formato inteligible por la máquina. A partir de las 3 formas identificadas se definen 7 esquemas de codificación.
Esquemas de codificación
Los esquemas de codificación tratan de la forma en que se serializa la información codificada.[11] La seguridad en los intercambios de información entre sistemas heterogéneos requiere la implementación de sistemas que permitan determinar el orden correcto de los bits y bytes y garantizar que la reconstrucción de la información es correcta. Una diferencia fundamental entre procesadores es el orden de disposición de los bytes en palabras de 16 y 32 bits, lo que se denomina endianness. Los esquemas de codificación deben garantizar que los extremos de una comunicación saben cómo interpretar la información recibida. A partir de las 3 formas de codificación se definen 7 esquemas. A pesar de que comparten nombres, no debe confundirse esquemas y formas de codificación.
Esquema de codificación | Endianness | Admite BOM |
UTF-8 | No aplicable | Sí |
UTF-16 | Big-endian o Little-endian | Sí |
UTF-16BE | Big-endian | No |
UTF-16LE | Little-endian | No |
UTF-32 | Big-endian o Little-endian | Sí |
UTF-32BE | Big-endian | No |
UTF-32LE | Little-endian | No |
Unicode define una marca especial, Byte order mark o BOM al inicio de un fichero o una comunicación para hacer explícita la ordenación de bytes. Cuando un protocolo superior especifica el orden de bytes, la marca no es necesaria y puede omitirse dando lugar a los esquemas de la lista anterior con sufijo BE o LE. En los esquemas UTF-16 y UTF-32, que admiten BOM, si este no se especifica se asume que la ordenación de bytes es big-endian.
La unidad de codificación en UTF-8 es el byte por lo que no necesita una indicación de orden de byte. El estándar ni requiere ni recomienda la utilización de BOM, pero lo admite como marca de que el texto es Unicode o como resultado de la conversión de otros esquemas.
Historia
El proyecto unicode se inició a finales de 1987, tras conversaciones entre los ingenieros de Apple y Xerox: Joe Becker, Lee Collins y Mark Davis.[12] Como resultado de su colaboración, en Agosto de 1988 se publicó el primer borrador de Unicode bajo el nombre de Unicode88.[13] Esta primera versión, con códigos de 16 bits, se publicó asumiendo que solo se codificarían los caracteres necesarios para el uso moderno.
Durante el año 1989 el trabajo continuó con la adición de colaboradores de otras compañías como Microsoft o Sun Microsystems. El Consorcio Unicode se formó el 3 de febrero de 1991 y en octubre de 1991 se publicó la primera versión del estándar. La segunda versión, incluyendo escritura ideográfica Han se publicó en Junio de 1992. A continuación se muestra una tabla con las distintas versiones del Estándar Unicode con sus adiciones o modificaciones más importantes.
Version | Fecha | Publicación | Edición ISO/IEC 10646 asociada | Escrituras | Caracteres | |
---|---|---|---|---|---|---|
# | Adiciones notables | |||||
1.0.0 | Octubre 1991 | ISBN 0-201-56788-1 (Vol.1) | 24 | 7.161 | El repertorio inicial cubre los alfabetos: Árabe, Armenio, Bengali, Bopomofo, Cirílico, Devanagari, Georgiano, Griego/Copto, Gujarati, Gurmukhi, Hangul, Hebreo, Hiragana, Kannada, Katakana, Lao, Latino, Malayalam, Oriya, Tamil, Telugu, Thai, y Tibetano.[14] | |
1.0.1 | Junio 1992 | ISBN 0-201-60845-6 (Vol.2) | 25 | 28.359 | Definido el primer conjunto de 20.902 ideogramas CJK unificados.[14] | |
1.1 | Junio 1993 | ISO/IEC 10646-1:1993 | 24 | 34.233 | Se agregan 4.306 caracteres Hangul más al conjunto original de 2.350. Se elimina el alfabeto tibetano.[14] | |
2.0 | Julio 1996 | ISBN 0-201-48345-9 | ISO/IEC 10646-1:1993 con enmiendas 5, 6 y 7 | 25 | 38.950 | Eliminado el conjunto original de caracteres Hangul; se agrega un nuevo conjunto de 11.172 caracteres Hangul en una nueva ubicación. Se reincorpora el alfabeto tibetano en una nueva ubicación y con un juego de caracteres diferente. Se define el sistema de códigos subrogados y se crean los planos 15 y 16 de caracteres para uso privado.[14] |
2.1 | Mayo 1998 | ISO/IEC 10646-1:1993 con enmiendas 5, 6 y 7, y dos caracteres de la enmienda 18 | 25 | 38.952 | Se agrega el símbolo del Euro.[14] | |
3.0 | Septiembre 1999 | ISBN 0-201-61633-5 | ISO/IEC 10646-1:2000 | 38 | 49.259 | Ideogramas Cherokee. Escrituras Etíope, Jemer, Mongol, Myanmar, Ogham, Alfabeto rúnico, Sinhala, Siríaco, Thaana, Silabario unificado de los indígenas canadienses, y Yi además de los patrones Braille.[14] |
3.1 | Marzo 2001 | ISO/IEC 10646-1:2000
ISO/IEC 10646-2:2001 |
41 | 94,205 | Se agregan los alfabetos Deseret, Gótico y Etrusco, y los símbolos de Notación musical moderna, Música bizantina, y 42.711 ideogramas de CJK unificado.[15] | |
3.2 | Marzo 2002 | ISO/IEC 10646-1:2000 con la enmienda 1
ISO/IEC 10646-2:2001 |
45 | 95.221 | Agregadas las escrituras filipinas: Buhid, Hanunoo, Tagalo, y Tagbanwa.[15] | |
4.0 | Abril 2003 | ISBN 0-321-18578-1 | ISO/IEC 10646:2003 | 52 | 96.447 | Se agrega el Silabario chipriota, Limbu, Lineal B, Osmanya, Shaviano, Tai Le, y Ugarítico, y los símbolos Hexagrama.[15] |
4.1 | Marzo 2005 | ISO/IEC 10646:2003 con enmienda 1 | 59 | 97.720 | Agregados Buginese, Glagolítico, Kharoshthi, New Tai Lue, Persa antiguo, Syloti Nagri, y Tifinagh. Se separa el Copto del alfabeto griego. Símbolos griegos antiguos para música y numeración.[15] | |
5.0 | Julio 2006 | ISBN 0-321-48091-0 | ISO/IEC 10646:2003 con enmiendas 1 y 2 y cuatro caracteres de la enmienda 3 | 64 | 99.089 | Agregados Balinés, Cuneiforme, N'Ko, Phags-pa, y Fenicio.[15] |
5.1 | Abril 2008 | ISO/IEC 10646:2003 más enmiendas 1, 2, 3 y 4 | 75 | 100.713 | Agregados escritura caria, Cham, Kayah Li, escritura lepcha, Alfabeto licio, Alfabeto Lidio, Alfabeto Ol Chiki, Rejang, Saurashtra, Sundanés, y el Vai. Los jeroglíficos del Disco de Festos, fichas de Mahjong y de Dominó. Adiciones importantes para el Birmano, letras y abreviaturas de amanuense utilizadas en manuscritos medievales y la adición de la ß mayúscula.[16] |
Unicode 5.2, en correspondencia con ISO/IEC 10646:2003 con enmiendas de 1 a 6, se publicará en otoño de 2009.[17]
Véase también
Referencias
- ↑ «Resumen histórico». Unicode, Inc. Consultado el 21 de mayo de 2009.
- ↑ «About the Unicode Standard». Unicode, Inc. Consultado el 21 de mayo de 2009.
- ↑ «The Unicode Consortium Members». Unicode, Inc. Consultado el 21 de mayo de 2009.
- ↑ The Unicode Consortium (octubre de 2006). «Appendix C. Relationship to ISO/IEC10646». En Julie D. Allen, Joe Becker (et al.), ed. Unicode 5.0 standard (en inglés). Addisson-Wesley. ISBN 0-321-48091-0.
- ↑ a b «Roadmaps to Unicode». Unicode, Inc. Consultado el 21 de mayo de 2009.
- ↑ «Archive of Notices of Non-Approval». Unicode, Inc. Consultado el 21 de mayo de 2009.
- ↑ The Unicode Consortium (octubre de 2006). Julie D. Allen, Joe Becker (et al.), ed. Unicode 5.0 standard (en inglés). Addisson-Wesley. ISBN 0-321-48091-0.
- ↑ The Unicode Consortium (octubre de 2006). «16. Special Areas and Format Characters». En Julie D. Allen, Joe Becker (et al.), ed. Unicode 5.0 standard (en inglés). Addisson-Wesley. ISBN 0-321-48091-0.
- ↑ a b «On the Encoding of Latin, Greek, Cyrillic, and Han».
- ↑ «12. East Asian Scripts». Unicode 5.0 Standard.
- ↑ a b The Unicode Consortium (octubre de 2006). «2.5 Encoding Forms». En Julie D. Allen, Joe Becker (et al.), ed. Unicode 5.0 standard (en inglés). Addisson-Wesley. ISBN 0-321-48091-0.
- ↑ «Chronology of Unicode Version 1.0».
- ↑ Becker, Joseph D. (10 de septiembre). Unicode 88 (en inglés). Unicode Consortium. p. 10. Consultado el 29 de mayo de 2009.
- ↑ a b c d e f The Unicode Consortium, Joan Aliprand, et al. (enero de 2000). «Appendix D. Changes from Unicode Version 2.0». The Unicode Standard. Version 3.0 standard (en inglés). Addisson-Wesley. ISBN 0-201-61633-5.
- ↑ a b c d e The Unicode Consortium (octubre de 2006). «Appendix D. Changes from previous versions». En Julie D. Allen, Joe Becker (et al.), ed. Unicode 5.0 standard (en inglés). Addisson-Wesley. ISBN 0-321-48091-0.
- ↑ Archivo de datos de Unicode 5.1
- ↑ Unicode Liaison Report — WG 2 meeting 54