Unified Hangul Code ( UHC ), [2] [a] o Extended Wansung , [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 todas las 11172 sílabas Hangul presentes en Johab (KS C 5601: 1992 anexo 3). [4] [2]Esto corresponde a las sílabas compuestas previamente disponibles en Unicode 2.0 y posteriores.
Alias | Página de códigos de Windows 949, página de códigos de IBM 1363 |
---|---|
Idioma (s) | coreano |
Estándar | Estándar de codificación WHATWG (como "EUC-KR") [1] |
Clasificación | ISO 646 extendido , [a] codificación de ancho variable , codificación CJK |
Se extiende | EUC-KR |
Otras codificaciones relacionadas | KPS 9566 -2003 , KPS 9566 hasta 2011 |
| |
Wansung Code 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 11172 en total, sin contar los que usan jamo obsoleto), y requiere que otros usen 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, haciendo asignaciones fuera del espacio de codificación utilizado para KS X 1001.
El rango de bytes iniciales se amplía a 0x 81 – FE, y el rango de bytes finales 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]
Terminología
El Código Hangul Unificado no está registrado en 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 a 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 ser "compatible con el contenido implementado". [11] La colección de asignaciones retiradas "OBSOLETE / EASTASIA" 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 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 está 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 hacer referencia a la asignación de UHC de Windows. [14] Python , por el contrario, reconoce "cp949", "949", "ms949" y "uhc" como etiquetas para UHC, y no incluye un códec IBM-949. [15] Fuera de las etiquetas que incorporan el número de página de códigos, el 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 "Korean MS-Win". 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 de onda (0xA1AD) también difiere, con el mapeo de IBM favoreciendo a U + 301C, [25] mientras que el mapeo de Microsoft favorece a U + 223C (Operador de Tilde). [26] El mapeo de IBM para UHC está disponible como "ibm-1363" en ICU, [21] mientras que el códec ICU "windows-949" se conoce 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 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 usa asignaciones ASCII para todos los bytes ASCII, aunque la barra invertida aún se puede representar como un signo ganado .
_0 | _1 | _2 | _3 | _4 | _5 | _6 | _7 | _8 | _9 | _A | _B | _C | _D | _MI | _F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0_ 0 | NUL 0000 | ┌ 250C | ┐ 2510 | └ 2514 | ┘ 2518 | │ 2502 | ─ 2500 | • 2022 | ◘ 25D8 | ○ 25CB | ◙ 25D9 | ♂ 2642 | ♀ 2640 | ♪ 266A | ♫ 266B | ☼ 263C |
1_ 16 | ┼ 253C | ◄ 25C4 | ↕ 2195 | ‼ 203C | ¶ 00B6 | ┴ 2534 | ┬ 252C | ┤ 2524 | ↑ 2191 | ├ 251C | → 2192 | ← 2190 | ∟ 221F | ↔ 2194 | ▲ 25B2 | ▼ 25BC |
2_ 32 | SP 0020 | ! 0021 | " 0022 | # 0023 | $ 0024 | % 0025 | & 0026 | « 0027 | ( 0028 | ) 0029 | * 002A | + 002B | , 002C | - 002D | . 002E | / 002F |
3_ 48 | 0 0030 | 1 0031 | 2 0032 | 3 0033 | 4 0034 | 5 0035 | 6 0036 | 7 0037 | 8 0038 | 9 0039 | : 003A | ; 003B | < 003C | = 003D | > 003E | ? 003F |
4_ 64 | @ 0040 | A 0041 | B 0042 | C 0043 | D 0044 | E 0045 | F 0046 | G 0047 | H 0048 | Yo 0049 | J 004A | K 004B | L 004C | M 004D | N 004E | O 004F |
5_ 80 | P 0050 | Q 0051 | R 0052 | S 0053 | T 0054 | U 0055 | V 0056 | W 0057 | X 0058 | Y 0059 | Z 005A | [ 005B | ₩ 20A9 | ] 005D | ^ 005E | _ 005F |
6_ 96 | ` 0060 | un 0061 | b 0062 | c 0063 | d 0064 | e 0065 | f 0066 | g 0067 | h 0068 | yo 0069 | j 006A | k 006B | l 006C | m 006D | n 006E | o 006F |
7_ 112 | p 0070 | q 0071 | r 0072 | s 0073 | t 0074 | u 0075 | v 0076 | w 0077 | x 0078 | y 0079 | z 007A | { 007B | | 007C | } 007D | ~ 007E | ⌂ 2302 |
Letra Número Puntuación Símbolo Otro Indefinido Diferencias con la página de códigos 437
Notas al pie
- ^ Coreano : 통합형 한글 코드 [3] , romanizado : Tonghabhyeong Hangeul Kodeu
- ^ Coreano : 확장 완성형 , romanizado : Hwagjang Wanseonghyeong
Referencias
- ^ a b van Kesteren, Anne , "5. Índices (§ índice EUC-KR)" , Estándar de codificación , WHATWG
- ^ a b "INFORMACIÓN: Conjuntos de caracteres Hangul (coreano)" , Soporte de Microsoft, Microsoft
- ^ "한글 코드 에 대하여" (en coreano). W3C.
- ^ a b Zsigri, Gyula (18 de junio de 2002). "KSC y UHC" .
- ^ Shin, Jungshik. "¿Qué son KS X 1001 (KS C 5601) y otros códigos Hangul?" . Preguntas frecuentes sobre Hangul e Internet en Corea .
- ^ 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.
- ^ "Juegos de caracteres" . Iana.org . Consultado el 11 de enero de 2017 .
- ^ "Propiedad Encoding.WindowsCodePage - .NET Framework (versión actual)" . MSDN . Microsoft.
- ^ "Identificadores de página de códigos" , Centro de desarrollo de Windows , Microsoft
- ^ IBM ; Consorcio Unicode . "convrtrs.txt" . Componentes internacionales para Unicode . v. 59180.0.1.
[...] usar KS C 5601 o nombres relacionados para denotar EUC-KR o windows-949 es muy engañoso [...] Es solo el nombre de un 94 x 94 codificado en coreano estándar de juego de caracteres que se puede invocar en GL (con reinicio de MSB) o GR (con juego de MSB).
- ^ a b van Kesteren, Anne . "4.2. Nombres y etiquetas" . Estándar de codificación . WHATWG.
- ^ Jungshik Shin. "KSX1001.TXT: KS X 1001 a tabla Unicode" . Unicode, Inc.
- ^ "ibm-949_P110-1999 (alias cp949)" , Explorador de convertidores , Componentes internacionales para Unicode
- ^ a b "windows-949-2000" , Explorador de convertidores , Componentes internacionales para Unicode
- ^ "Códecs - Registro de códecs y clases base § Codificaciones estándar" . Documentación de Python 3.7.2 . Fundación de software Python.
- ^ "Identificadores de juego de caracteres codificados - CCSID 1363" , IBM Globalization , IBM, archivado desde el original el 29/11/2014
- ^ "Documento de información de la página de códigos 1126" . Archivado desde el original el 16 de enero de 2017.
- ^ "Documento de información CCSID 1126" . Archivado desde el original el 27 de marzo de 2016.
- ^ "Documento de información de la página de códigos 1362" . Archivado desde el original el 17 de marzo de 2017.
- ^ "Documento de información CCSID 1362" . Archivado desde el original el 27 de marzo de 2016.
- ^ a b "ibm-1363" , Explorador de convertidores , Componentes internacionales para Unicode
- ^ Página de códigos CPGID 01126 (pdf) (PDF) , IBM
- ^ Página de códigos CPGID 01126 (txt) , IBM
- ^ Kaplan, Michael S. (17 de septiembre de 2005), "¿Cuándo una barra invertida no es una barra invertida?" , Clasificando todo
- ^ "ibm-1363_P110-1997 (byte inicial A1)" . Demostración de UCI - Explorador de convertidores . Componentes internacionales para Unicode.
- ^ "windows-949-2000 (primer byte A1)" . Demostración de UCI - Explorador de convertidores . Componentes internacionales para Unicode.
- ^ Consulte, como referencia, ucnv_lmb.cpp (Brendan Murray, Jim Snyder-Grant), donde se comenta que el byte principal 0x11 se refiere a "Coreano: ibm-1261" después de la definición de
ULMBCS_GRP_KO
, pero se asigna al"windows-949"
códec ICU en laOptGroupByteToCPName
matriz más adelante en el archivo. - ^ Página de códigos CPGID 01126 (pdf) (PDF) , IBM
- ^ Página de códigos CPGID 01126 (txt) , IBM
- ^ Demostración de ICU que asigna IBM-1363 a Unicode
- ^ Demostración de ICU mapeo IBM-1363C (variante basada en ASCII) a Unicode
enlaces externos
- Referencia de Microsoft para Windows-949
- Documentación de IBM para IBM-1363
- Asignación de Windows-949 a Unicode
- Archivos de asignación de componentes internacionales para Unicode (ICU): ibm-1363_P110-1997.ucm , ibm-1363_P11B-1998.ucm y windows-949-2000.ucm
- Demostración de ICU para Windows-949 (con asignaciones ASCII)
- Demostración de ICU para IBM-1363 (con 0x5C como signo de Won)