Provided by: manpages-es_4.21.0-2_all bug

NOMBRE

       unicode - conjunto de caracteres universal

DESCRIPCIÓN

       El  estándar  internacional  ISO  10646  define  el conjunto de caracteres UCS (Universal Character Set -
       Conjunto de Caracteres Universal). UCS contiene todos los caracteres de todos  los  demás  estándares  de
       conjuntos  de caracteres. También garantiza una compatibilidad de ida y vuelta (round-trip), es decir, se
       pueden construir tablas de conversión de tal forma que no se pierda ninguna información cuando una cadena
       se convierta desde cualquier otra codificación a UCS y viceversa.

       UCS contiene los caracteres necesarios para representar prácticamente todos los lenguajes conocidos. Esto
       incluye no sólo los alfabetos latino, griego, cirílico, árabe, armenio y georgiano  sino  también  chino,
       japones y la variante Han de los ideogramas coreanos además de alfabetos como Hiragana, Katakana, Hangul,
       Devanagari,  Bengali,  Gurmukhi,  Gujarati,  Oriya,  Tamil, Telugu, Kannada, Malayalam, Thai, Lao, Khmer,
       Bopomofo, Tibetan, Runic, Ethiopic, Canadian Syllabics, Cherokee,  Mongolian,  Ogham,  Myanmar,  Sinhala,
       Thaana,  Yi  y  otros.  Para  aquellos  alfabetos  aún  no  cubiertos,  todavía se está investigando cómo
       codificarlos de la mejor manera posible para su uso en  sistemas  informáticos.  Al  final,  esto  podría
       incluir  no  sólo jeroglíficos y varios lenguajes indo-europeos históricos sino incluso algunos alfabetos
       artísticos seleccionados como Tengwar, Cirth y Klingon. UCS abarca también un  gran  número  de  símbolos
       gráficos,  tipográficos,  matemáticos y científicos, que incluyen aquellos provistos por TeX, Postscript,
       APL, MS-DOS, MS-Windows, Macintosh, fuentes OCR, así como varios sistemas de  procesamiento  de  texto  y
       publicación, añadiéndose más cada día.

       El  estándar UCS (ISO 10646) describe una arquitectura del conjunto de caracteres de 31 bits que consiste
       en 128 grupos de 24 bits, cada uno dividido en 256 planos de 16 bits  formados  por  256  filas  con  256
       columnas,  una  por  cada carácter. La primera parte del estándar (ISO 10646-1) define las primeras 65534
       posiciones de los códigos (0x0000 a 0xfffd),  que  forman  el  BMP  (Basic  Multilingual  Plane  -  Plano
       Multilingüe  Básico),  que es el plano 0 en el grupo 0. La segunda parte del estándar (ISO 10646-2) añade
       caracteres al grupo 0 fuera del BMP en varios planos adicionales en el rango de 0x10000  a  0x10ffff.  No
       hay  intenciones  de  añadir  caracteres  al  estándar más allá de 0x10ffff, por consiguiente, de todo el
       espacio de códigos, solamente una pequeña fracción  del  grupo  0  será  usada  realmente  en  un  futuro
       previsible.  El  BMP contiene todos los caracteres que se encuentran en los otros conjuntos de caracteres
       usados frecuentemente. Los planos adicionales añadidos  por  ISO  10646-2  abarcan  sólo  más  caracteres
       exóticos para necesidades científicas especiales, impresión de diccionarios, industria de la publicación,
       protocolos de más alto nivel y necesidades entusiastas.

       La  representación de cada carácter UCS como una palabra de 2 bytes es referida como la forma UCS-2 (sólo
       para caracteres BMP), mientras que UCS-4 es la representación de cada carácter  como  una  palabra  de  4
       bytes.  Además, existen dos formas de codificación, UTF-8 por compatibilidad hacia atrás con software que
       maneje ASCII y UTF-16 por compatibilidad hacia atrás con software UCS-2 que maneje caracteres  fuera  del
       BMP por debajo de 0x10ffff.

       Los caracteres UCS del 0x0000 al 0x007f son idénticos a los del clásico conjunto de caracteres US-ASCII y
       los  caracteres  en el rango de 0x0000 a 0x00ff son idénticos a los del conjunto de caracteres ISO 8859-1
       (Latin-1).

   Caracteres de combinación
       Algunos códigos en UCS han sido asignados como caracteres de  combinación.  Éstos  son  similares  a  las
       teclas  de acento en una máquina de escribir. Un carácter de combinación sólo añade un acento al carácter
       previo. Los caracteres acentuados más  importantes  tienen  códigos  propios  en  UCS,  sin  embargo,  el
       mecanismo  de  combinación  de  caracteres  permite añadir acentos y otras marcas diacríticas a cualquier
       carácter. Los caracteres de combinación siempre siguen al carácter al cual  modifican.  Por  ejemplo,  en
       alemán  el  carácter Umlaut-A ("A mayúscula con diéresis") puede representarse por el ya compuesto código
       UCS 0x00c4, o alternativamente como la combinación de una "A mayúscula" normal seguida por una  "diéresis
       de combinación": 0x0041 0x0308.

       Los  caracteres  de  combinación  son  esenciales  para,  por  ejemplo,  codificar el alfabeto Tai o para
       tipografía matemática y para usuarios del Alfabeto Fonético Internacional.

   Niveles de implementación
       Puesto que no se espera que todos los sistemas soporten mecanismos avanzados tales como los caracteres de
       combinación, el ISO 10646-1 especifica los siguientes tres grados de implementación del UCS:

       Nivel 1  Los caracteres de combinación y caracteres Hangul Jamo (una codificación especial  del  coreano,
                en  la  que un glifo (glyph) de una sílaba Hangul se codifica como una terna o un par de códigos
                de vocal/consonante) no están implementados.

       Nivel 2  Además de los del nivel 1, se permiten caracteres de  combinación  para  algunos  idiomas  donde
                resultan esenciales (p.ej., Tai, Lao, hebreo, árabe, Devangari, Malayalam).

       Nivel 3  Todos los caracteres de UCS están soportados.

       El  estándar  Unicode  3.0  publicado  por el Consorcio Unicode contiene exactamente el Plano Multilingüe
       Básico UCS implementado al nivel 3, según se describe en ISO 10646:2000. Unicode  3.1  añade  los  planos
       adicionales  de  ISO  10646-2.  El  estándar  Unicode y los informes técnicos publicados por el Consorcio
       Unicode proporcionan mucha información adicional sobre la semántica y los  usos  recomendados  de  varios
       caracteres.  Proporcionan  pautas  y  algoritmos  para editar, ordenar, comparar, normalizar, convertir y
       mostrar cadenas Unicode.

   Unicode en Linux
       Bajo GNU/Linux, el tipo en C wchar_t es un tipo entero de 32 bits con signo.  Sus  posibles  valores  son
       interpretados  siempre por la biblioteca C como códigos UCS (en todas las localizaciones), una convención
       que  es  notificada  por  la  biblioteca  C  de  GNU  a  las   aplicaciones   definiendo   la   constante
       __STDC_ISO_10646__ tal como se especifica en el estándar ISO C 99.

       El  estándar  UCS/Unicode puede ser utilizado exactamente igual que el ASCII en flujos de entrada/salida,
       comunicación con la terminal, ficheros en texto plano, nombres de fichero y variables de  entorno  en  la
       codificación  multibyte  UTF-8  compatible  con  ASCII. Para indicar el uso de UTF-8 como codificación de
       caracteres a todas las aplicaciones, debe seleccionarse una locale adecuada a través de las variables  de
       entorno (p.ej., "LANG=en_GB.UTF-8").

       La  función  nl_langinfo(CODESET)  devuelve  el  nombre  de  la  codificación escogida. Pueden utilizarse
       funciones de biblioteca tales como wctomb(3) y mbsrtowcs(3)  para  convertir  los  caracteres  y  cadenas
       internas  wchar_t  a  la codificación de caracteres del sistema y viceversa, y la función wcwidth(3) para
       averiguar cuantas posiciones (0–2) avanzó el cursor al escribir un carácter.

   Áreas de uso privado (PUA)
       En el BMP, el rango de 0xe000 a 0xf8ff ningún carácter será nunca asignado por el estándar y  dicha  zona
       se reserva para uso privado. Para la comunidad Linux, esta área privada ha sido subdividida aún más en el
       rango de 0xe000 a 0xefff que puede ser utilizado a nivel particular por cualquier usuario final y la zona
       Linux  en  el  rango  de  0xf000  a 0xf8ff donde las extensiones se coordinan entre todos los usuarios de
       Linux. El registro de los caracteres asignados a la zona Linux es mantenido actualmente por LANANA  y  el
       propio   registro   es   Documentation/admin-guide/unicode.rst   en   le   código   fuente  de  Linux  (o
       Documentation/unicode.txt antes de la versión 4.10 de Linux).

       Dos planos más están reservados para uso privado, el plano 15 (Uso adicional Area-A, range de  0xf0000  a
       0xffffd)  y el plano 16 (Uso adicional Area-B, range de 0x100000 a 0x10fffd).

   Literatura
       •  Information  technology — Universal Multiple-Octet Coded CharacterSet (UCS) — Part 1: Architecture and
          Basic  Multilingual  Plane.International  Standard  ISO/IEC  10646-1,  International   Organizationfor
          Standardization, Geneva, 2000.

          Esta es la especificación oficial de UCS. Está disponible en http://www.iso.ch/.

       •  The  Unicode  Standard,  Version 3.0.  The Unicode Consortium, Addison-Wesley, Reading, MA, 2000, ISBN
          0-201-61633-5.

       •  S. Harbison, G. Steele. C: A Reference Manual. Fourth edition, Prentice Hall, Englewood Cliffs,  1995,
          ISBN 0-13-326224-3.

          Una  buena  referencia  sobre el lenguaje de programación C. La cuarta edición abarca la Enmienda 1 de
          1994 al estándar ISO C 90, que añade un gran número de nuevas funciones a  la  biblioteca  de  C  para
          manejar  codificaciones  de caracteres anchos y multibyte, pero que aún no cubre el estándar ISO C 99,
          que mejoró el soporte para caracteres anchos y multibyte aún más.

       •  Unicode Technical Reports.
          http://www.unicode.org/reports/

       •  Markus Kuhn: UTF-8 and Unicode FAQ for UNIX/Linux.
          http://www.cl.cam.ac.uk/~mgk25/unicode.html

       •  Bruno Haible: Unicode HOWTO.
          http://www.tldp.org/HOWTO/Unicode-HOWTO.html

VÉASE TAMBIÉN

       locale(1), setlocale(3), charsets(7), utf-8(7)

TRADUCCIÓN

       La traducción al español de esta página del manual fue creada por Miguel Pérez Ibars <mpi79470@alu.um.es>
       y Marcos Fouces <marcos@debian.org>

       Esta traducción es documentación libre;  lea  la  GNU General Public License Version 3  o  posterior  con
       respecto a las condiciones de copyright.  No existe NINGUNA RESPONSABILIDAD.

       Si  encuentra  algún  error  en  la  traducción  de esta página del manual, envíe un correo electrónico a
       debian-l10n-spanish@lists.debian.org.

Páginas de manual de Linux 6.03                  5 Febrero 2023                                       unicode(7)