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