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]
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]
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 .
<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).
ULMBCS_GRP_KO
, pero está asignado al "windows-949"
códec ICU en la OptGroupByteToCPName
matriz más adelante en el archivo.