El 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.
Wansung Code tiene el inconveniente de que solo asigna códigos para las 2350 sílabas precompuestas de Hangul que tienen sus propios puntos de código KS X 1001 (KS C 5601) (de un total de 11172, sin contar las que usan jamo obsoleto), y requiere que otras 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, haciendo asignaciones fuera del espacio de codificación utilizado para KS X 1001.
El rango del byte inicial se extiende a 0x81 –FE, y el rango del byte final 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 de EUC-KR se utilizan para el hangul adicional. [ 6 ] Si se consideran por separado, tanto el bloque Hangul de EUC-KR como la sección Hangul extendida de 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 ] Entre las alternativas se incluye 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" indistintamente con "EUC-KR" con la intención de que sea "compatible con el contenido implementado". [ 11 ] La colección "OBSOLETE/EASTASIA" del Consorcio Unicode de asignaciones retiradas incluía asignaciones para el Código Hangul Unificado como "KSC5601.TXT", con las asignaciones derivadas automáticamente para KS X 1001 de 7 bits incluidas como "KSX1001.TXT". [ 12 ]
La página de códigos 949 de IBM es otra extensión, por lo demás no relacionada, de EUC-KR. Los Componentes Internacionales para Unicode (ICU) utilizan "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, el 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 SBCS 1126 y la página de códigos DBCS 1362. [ 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 de la raya ondulada (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 de tilde). [ 26 ] La asignación 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 porción de un solo byte de la página de códigos según la define IBM. De forma similar a la página de códigos 437 , los bytes de código de control pueden usarse 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 de won .
Notas a pie de página
Referencias
- ^ van Kesteren, Anne , "5. Índices (§ índice EUC-KR)" , Estándar de codificación , WHATWG
- 1 2 "INFO: Conjuntos de caracteres Hangul (coreano)" , Soporte de Microsoft , Microsoft
- ^ "한글 코드에 대하여" (en coreano). W3C. Archivado desde el original el 24 de mayo de 2013 . Consultado el 2 de enero de 2018 .
- 1 2 Zsigri, Gyula (2002-06-18). "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 del proveedor» (PDF) . Procesamiento de la información CJKV (2.ª ed.). O'Reilly Media . ISBN 978-0-596-51447-1.
- ↑ "Conjuntos 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, 7 de enero de 2021
- ↑ IBM ; Consorcio Unicode . "convrtrs.txt" . Componentes internacionales para Unicode . v. 59180.0.1. Archivado del original el 28-07-2020 . Recuperado el 16-05-2020 .
<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 en GL (con MSB restablecido) o GR (con MSB establecido).
- 1 2 van Kesteren, Anne . «4.2. Nombres y etiquetas» . Estándar de codificación . QUÉ.
- ↑ Jungshik Shin. "KSX1001.TXT: Tabla de conversión de KS X 1001 a Unicode" . Unicode, Inc.
- ↑ "ibm-949_P110-1999 (alias cp949)" , Converter Explorer , Componentes internacionales para Unicode
- 1 2 "windows-949-2000" , Converter Explorer , Componentes internacionales para Unicode
- ↑ "códecs — Registro de códecs y clases base § Codificaciones estándar" . Documentación de Python 3.7.2 . Python Software Foundation.
- ↑ "Identificadores de conjuntos de caracteres codificados - CCSID 1363" , Globalización de IBM , IBM, archivado del original el 29/11/2014
- ↑ "Documento informativo de la página 1126 del código" . Archivado del original el 16 de enero de 2017.
- ↑ "Documento informativo CCSID 1126" . Archivado del original el 27 de marzo de 2016.
- ↑ "Documento informativo de la página 1362 del código" . Archivado del original el 17 de marzo de 2016.
- ↑ "Documento informativo CCSID 1362" . Archivado del original el 27 de marzo de 2016.
- 1 2 "ibm-1363" , Converter Explorer , 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?" , Aclarando todas las dudas
- ↑ "ibm-1363_P110-1997 (byte inicial A1)" . Demostración de ICU - Explorador de convertidores . Componentes internacionales para Unicode.
- ↑ "windows-949-2000 (byte inicial A1)" . Demostración de ICU - Explorador de convertidores . Componentes internacionales para Unicode.
- ↑ Véase, como referencia, ucnv_lmb.cpp Archivado el 2 de enero de 2020 en Wayback Machine (Brendan Murray, Jim Snyder-Grant), donde el byte inicial 0x11 está comentado como referencia a "Coreano: ibm-1261" después de la definición de
ULMBCS_GRP_KO, pero se asigna al"windows-949"códec ICU en laOptGroupByteToCPNamematriz 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 la UCI: mapeo de IBM-1363 a Unicode
- ↑ Demostración de la UCI: mapeo de IBM-1363C (variante basada en ASCII) a Unicode
Enlaces externos
- Referencia de Microsoft para Windows-949
- Documentación de IBM para IBM-1363
- Mapeo de Windows-949 a Unicode
- Archivos de mapeo de Componentes Internacionales para Unicode (ICU): ibm-1363_P110-1997.ucm , ibm-1363_P11B-1998.ucm y windows-949-2000.ucm
- Demostración de la UCI para Windows-949 (con asignaciones ASCII)
- Demostración de la UCI para IBM-1363 (con 0x5C como signo Won)
- Gráfico de visualización para Windows-949 en el estándar de codificación WHATWG.
- Páginas de código de Windows
- Codificaciones de lenguas asiáticas
- Informática en idioma coreano
- Hangul