stringtranslate.com

Código Hangul Unificado

Código Hangul Unificado ( UHC ), [2] [a] o Wansung Extendido , [4] [b] también conocido en Microsoft Windows como Página de Códigos 949 ( Windows-949 , MS949 o ambiguamente CP949 ), es la página de códigos de Microsoft Windows para el idioma coreano . Es una extensión del Código Wansung ( KS C 5601 :1987, codificado como EUC-KR ) para incluir las 11172 sílabas Hangul no parciales presentes en Johab (KS C 5601:1992 anexo 3). [4] [2] Esto corresponde a las sílabas precompuestas disponibles en Unicode 2.0 y posteriores.

El código Wansung tiene el inconveniente de que solo asigna códigos para las 2350 sílabas Hangul precompuestas que tienen sus propios puntos de código KS X 1001 (KS C 5601) (de un total de 11172, sin contar los que usan jamo obsoleto), y requiere que otros usen secuencias de composición de ocho bytes, que no son compatibles con algunas implementaciones parciales del estándar. [5] UHC resuelve esto asignando códigos únicos para todas las sílabas posibles construidas usando jamo moderno, al realizar asignaciones fuera del espacio de codificación utilizado para KS X 1001.

El rango de bytes inicial se amplía a 0x 81–FE, y el rango de bytes final se amplía a 0x41–5A, 0x61–7A y 0x81–FE (en EUC-KR, ambos rangos son 0xA1–FE). Los códigos fuera de los rangos EUC-KR se utilizan para el hangul adicional. [6] Si se consideran por separado, tanto el bloque Hangul EUC-KR como la sección Hangul extendida UHC están en orden Unicode. [1]

Terminología

El código Hangul unificado no está registrado en la IANA como estándar para comunicar información a través de Internet. [7] Las alternativas incluyen UTF-8 . Sin embargo, el estándar de codificación W3C / WHATWG utilizado por HTML5 incorpora las extensiones del código Hangul unificado en su definición de "EUC-KR". [1]

Microsoft asigna a Windows-949 la etiqueta "ks_c_5601-1987", [8] [9] que se aplica correctamente al propio KS X 1001 ( KS C 5601 es el nombre original de KS X 1001). [10] El WHATWG trata la etiqueta "ks_c_5601-1987" de manera intercambiable con "EUC-KR" con la intención de que sea "compatible con el contenido implementado". [11] La colección "OBSOLETE/EASTASIA" de asignaciones retiradas del Consorcio Unicode incluía asignaciones para el Código Hangul Unificado como "KSC5601.TXT", y las asignaciones derivadas automáticamente para KS X 1001 de 7 bits se incluían como "KSX1001.TXT". [12]

La página de códigos 949 de IBM es otra extensión, no relacionada de otra manera, de EUC-KR. International Components for Unicode (ICU) utiliza "cp949", "949" o "ibm-949" para referirse a esa página de códigos de IBM, [13] y "ms949" o "windows-949" (o varias variantes de "ks_c_5601-1987") para referirse a la asignación de Windows de UHC. [14] Python , por el contrario, reconoce "cp949", "949", "ms949" y "uhc" como etiquetas para UHC, y no incluye un códec IBM-949. [15] De las etiquetas que incorporan el número de página de códigos, WHATWG reconoce solo "windows-949". [11]

La página de códigos de IBM para el código Hangul unificado se llama página de códigos 1363 ( IBM-1363 ), o "MS-Win coreano". Es una combinación de la página de códigos 1126 de SBCS y la página de códigos 1362 de DBCS. [16] [17] [18] [19] [20] Se diferencia en que tiene una asignación de un solo byte de 0x5C al signo Won (U+20A9); [21] [22] [23] Windows asigna 0x5C a U+005C (el punto de código Unicode para la barra invertida ) como en ASCII, [14] aunque las fuentes a menudo todavía lo representan como un signo Won. [24] La asignación Unicode del guión de onda (0xA1AD) también difiere, con la asignación de IBM favoreciendo U+301C, [25] mientras que la asignación de Microsoft favorece U+223C (operador tilde). [26] El mapeo de IBM para UHC está disponible como "ibm-1363" en ICU, [21] mientras que el códec "windows-949" de ICU se menciona como IBM-1261 en algunos comentarios del código fuente de ICU. [27]

Códigos de un solo byte

A continuación se muestra la parte de un solo byte de la página de códigos según la definición de IBM. De manera similar a la página de códigos 437 , los bytes del código de control se pueden utilizar como códigos de control o códigos gráficos según el contexto; los códigos gráficos se muestran a continuación. Microsoft utiliza asignaciones ASCII para todos los bytes ASCII, aunque la barra invertida puede seguir representándose como un signo won .

  Diferencias con la página de códigos 437

Notas al pie

  1. ^ Coreano : 통합형 한글 코드 [3] , romanizadoTonghabhyeong Hangeul Kodeu
  2. ^ Coreano : 확장 완성형 , romanizadoHwagjang Wanseonghyeong

Referencias

  1. ^ abc van Kesteren, Anne , "5. Índices (§ índice EUC-KR)", Estándar de codificación , WHATWG
  2. ^ ab "INFO: Conjuntos de caracteres Hangul (coreano)", Soporte técnico de Microsoft , Microsoft
  3. ^ "한글 코드에 대하여" (en coreano). W3C.
  4. ^ ab Zsigri, Gyula (18 de junio de 2002). "KSC y cobertura sanitaria universal".
  5. ^ Shin, Jungshik. "¿Qué son KS X 1001 (KS C 5601) y otros códigos Hangul?". Preguntas frecuentes sobre Hangul e Internet en Corea .
  6. ^ Lunde, Ken (13 de enero de 2009). "Apéndice F: Métodos de codificación de proveedores" (PDF) . Procesamiento de información CJKV (2.ª ed.). O'Reilly Media . ISBN 978-0-596-51447-1.
  7. ^ "Conjuntos de personajes". Iana.org . Consultado el 11 de enero de 2017 .
  8. ^ "Propiedad Encoding.WindowsCodePage - .NET Framework (versión actual)". MSDN . Microsoft.
  9. ^ "Identificadores de páginas de códigos", Centro de desarrollo de Windows , Microsoft
  10. ^ IBM ; Consorcio Unicode . "convrtrs.txt". Componentes internacionales para Unicode . v. 59180.0.1. <quote from="Jungshik Shin"> [...] usar KS C 5601 o nombres relacionados para denotar EUC-KR o windows-949 es muy engañoso [...] Es solo el nombre de un estándar de conjunto de caracteres codificados coreanos de 94 x 94 que se puede invocar tanto en GL (con MSB restablecido) como en GR (con MSB establecido).
  11. ^ ab van Kesteren, Anne . "4.2. Nombres y etiquetas". Estándar de codificación . QUÉ.
  12. ^ Jungshik Shin. "KSX1001.TXT: tabla de KS X 1001 a Unicode". Unicode, Inc.
  13. ^ "ibm-949_P110-1999 (alias cp949)", Explorador de convertidores , Componentes internacionales para Unicode
  14. ^ ab "windows-949-2000", Explorador de convertidores , Componentes internacionales para Unicode
  15. ^ "códecs — Registro de códecs y clases base § Codificaciones estándar". Documentación de Python 3.7.2 . Python Software Foundation.
  16. ^ "Identificadores de conjuntos de caracteres codificados - CCSID 1363", IBM Globalization , IBM, archivado desde el original el 29 de noviembre de 2014
  17. ^ "Documento informativo de la página de códigos 1126". Archivado desde el original el 16 de enero de 2017.
  18. ^ "Documento informativo del CCSID 1126". Archivado desde el original el 27 de marzo de 2016.
  19. ^ "Documento informativo de la página de códigos 1362". Archivado desde el original el 17 de marzo de 2016.
  20. ^ "Documento informativo del CCSID 1362". Archivado desde el original el 27 de marzo de 2016.
  21. ^ ab "ibm-1363", Explorador de convertidores , Componentes internacionales para Unicode
  22. ^ Página de códigos CPGID 01126 (pdf) (PDF) , IBM
  23. ^ Página de códigos CPGID 01126 (txt), IBM
  24. ^ Kaplan, Michael S. (17 de septiembre de 2005), "¿Cuándo una barra invertida no es una barra invertida?", Poniéndolo todo en orden
  25. ^ "ibm-1363_P110-1997 (byte inicial A1)". Demostración de ICU - Explorador de convertidores . Componentes internacionales para Unicode.
  26. ^ "windows-949-2000 (byte inicial A1)". Demostración de la UCI: Explorador de convertidores . Componentes internacionales para Unicode.
  27. ^ Consulte, como referencia, ucnv_lmb.cpp (Brendan Murray, Jim Snyder-Grant), donde el byte inicial 0x11 se comenta como una referencia a "Korean: ibm-1261" después de la definición de ULMBCS_GRP_KO, pero está asignado al "windows-949"códec ICU en la OptGroupByteToCPNamematriz más adelante en el archivo.
  28. ^ Página de códigos CPGID 01126 (pdf) (PDF) , IBM
  29. ^ Página de códigos CPGID 01126 (txt), IBM
  30. ^ Demostración de la UCI que muestra el mapeo de IBM-1363 a Unicode
  31. ^ Demostración de la UCI que asigna el IBM-1363C (variante basada en ASCII) a Unicode

Enlaces externos