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 sólo 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 11172 en total, sin contar los que usan jamo obsoleto), y requiere que otros utilicen ocho -secuencias de composición de 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, realizando asignaciones fuera del espacio de codificación utilizado para KS X 1001.

El rango de bytes iniciales se extiende a 0x 81–FE y el rango de bytes finales se extiende 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 (siendo KS C 5601 el nombre original de KS X 1001). [10] WHATWG trata la etiqueta "ks_c_5601-1987" indistintamente 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 Unicode Consortium 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 incluyen como "KSX1001.TXT". . [12]

La página de códigos 949 de IBM es otra extensión de EUC-KR, que de otro modo no estaría relacionada. 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 al mapeo 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 sólo "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 SBCS 1126 y la página de códigos DBCS 1362. [16] [17] [18] [19] [20] Se diferencia en tener 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] El mapeo Unicode del guión ondulado (0xA1AD) también difiere: el mapeo de IBM favorece a U+301C, [25] mientras que el mapeo de Microsoft favorece a 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 denomina 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 definida por IBM. De manera similar a la página de códigos 437 , los bytes del código de control se pueden usar 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 aún puede representarse como un signo ganado .

  Diferencias con la página de códigos 437

Notas a pie de página

  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 UHC".
  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.). Medios O'Reilly . ISBN 978-0-596-51447-1.
  7. ^ "Conjuntos de caracteres". Iana.org . Consultado el 11 de enero de 2017 .
  8. ^ "Propiedad Encoding.WindowsCodePage - .NET Framework (versión actual)". MSDN . Microsoft.
  9. ^ "Identificadores de página 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 indicar EUC-KR o windows-949 es muy engañoso [...] Es solo el nombre de un código coreano de 94 x 94 Estándar de juego de caracteres que se puede invocar en GL (con restablecimiento de MSB) o GR (con MSB configurado).
  11. ^ ab van Kesteren, Anne . "4.2. Nombres y etiquetas". Estándar de codificación . QUÉ.
  12. ^ Jungshik Shin. "KSX1001.TXT: KS X 1001 a tabla Unicode". Unicode, Inc.
  13. ^ "ibm-949_P110-1999 (alias cp949)", Converter Explorer , componentes internacionales para Unicode
  14. ^ ab "windows-949-2000", Converter Explorer , componentes internacionales para Unicode
  15. ^ "códecs: registro de códecs y clases base § Codificaciones estándar". Documentación de Python 3.7.2 . Fundación de software Python.
  16. ^ "Identificadores de juegos 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 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 CCSID 1362". Archivado desde el original el 27 de marzo de 2016.
  21. ^ ab "ibm-1363", Converter Explorer , 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?", Clasificándolo todo
  25. ^ "ibm-1363_P110-1997 (byte inicial A1)". Demostración de la UCI: 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 se comenta que el byte inicial 0x11 hace referencia a "coreano: 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 asigna IBM-1363 a Unicode
  31. ^ Demostración de ICU que asigna IBM-1363C (variante basada en ASCII) a Unicode

enlaces externos