Idioma(s) | Chino tradicional |
---|---|
Creado por | Microsoft |
Se extiende | Cinco grandes |
Residencia en | Cinco grandes y diez |
La página de códigos 950 es la página de códigos utilizada en Microsoft Windows para el chino tradicional . Es la implementación de Microsoft de la codificación de caracteres Big5, estándar de facto . La página de códigos no está registrada en la IANA [1] y, por lo tanto, no es un estándar para comunicar información a través de Internet, aunque normalmente se la etiqueta simplemente como , incluso por las funciones de biblioteca de Microsoft. [2]big5
La principal diferencia entre la página de códigos 950 de Windows y la Big5 "común" (no específica del proveedor) es la incorporación de un subconjunto de las extensiones ETEN a Big5 en 0x F9D6 a 0xF9FE (que comprende los siete caracteres chinos碁, 銹, 裏, 墻, 恒, 粧 y 嫺, seguidos de 34 caracteres de dibujo de caja y elementos de bloque ). Los rangos utilizados por algunos de los otros caracteres extendidos ETEN se definen en cambio como caracteres definidos por el usuario final (uso privado) . [3]
El CCSID 950 de IBM comprende la página de códigos de un solo byte 1114 (CCSID 1114) y la página de códigos de doble byte 947 (CCSID 947), [4] [5] [6] y, aunque también es una variante de Big5, es algo diferente de la página de códigos 950 de Microsoft, incorporando algunas de las extensiones ETEN para los bytes iniciales 0xA3, [7] 0xC6, [3] [8] 0xC7 [9] y 0xC8, [3] [10] mientras omite aquellos con el byte inicial 0xF9 (que Microsoft incluye), asignándolos en su lugar al Área de uso privado como caracteres definidos por el usuario. [3] [11] También incluye dos regiones de extensión que no son ETEN con bytes finales 0x81–A0, es decir, fuera del rango de bytes finales Big5 habitual pero similar al rango de bytes finales Big5+: el área 5 tiene bytes iniciales 0xF2–F9 y contiene caracteres seleccionados por IBM, mientras que el área 9 tiene bytes iniciales 0x81–8C y es una región definida por el usuario. [12]
Microsoft actualizó su versión de la página de códigos 950 en 2000, añadiendo el símbolo del euro (€) en el código de doble byte 0xA3E1. IBM se refiere a la actualización del símbolo del euro de su variante Big-5 como CCSID 1370 (que incluye símbolos del euro de un solo byte (0x80) y de doble byte). [13] Comprende la página de códigos de un solo byte 1114 (CCSID 5210) y la página de códigos de doble byte 947 (CCSID 21427). [13] [14] [15]
Para una mejor compatibilidad con la variante de Microsoft en IBM Db2 , IBM también define la página de códigos de doble byte puro 1372 [16] y el CCSID de ancho variable asociado 1373 , que incluye solo el símbolo del euro de doble byte [17] y coincide con el comportamiento de Microsoft en el que se incluyen las regiones de extensión. [18] [19] [20] [21] [22]
Los siguientes son los caracteres gráficos de un solo byte incluidos por IBM. Los códigos 0x00 a 0x1F y 0x7F pueden usarse como códigos de control C0 , según el contexto (compare la página de códigos 437 y la página de códigos 897 ). Como se indicó anteriormente, el símbolo del euro de un solo byte en 0x80 no está incluido en los CCSID 950 o 1373 de IBM ni tampoco por Microsoft.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | do | D | mi | F | |
0x | ☺ | ☻ | ♥ | ♦ | ♣ | ♠ | • | ◘ | ○ | ◙ | ♂ | ♀ | ♪ | ♫ | ☼ | |
1x | ► | ◄ | ↕ | ‼ | ¶ | § | ▬ | ↨ | ↑ | ↓ | → | ← | ∟ | ↔ | ▲ | ▼ |
2x | ES | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / |
3x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
4x | @ | A | B | do | D | mi | F | GRAMO | yo | I | Yo | K | yo | METRO | norte | Oh |
5x | PAG | Q | R | S | yo | tú | V | Yo | incógnita | Y | O | [ | \ | ] | ^ | _ |
6x | ` | a | b | do | d | mi | F | gramo | yo | i | yo | a | yo | metro | norte | o |
7x | pag | q | a | s | a | tú | en | el | incógnita | y | el | { | | | } | ~ | ⌂ |
8x | € |
El resto son partes de una secuencia de doble byte.
Gama Big5 | Rango Unicode | Fórmula [26] |
---|---|---|
81 40–8D FE | U+EEB8–U+F6B0 | 0xeeb8 + (157 * (H-0x81)) + (L<0x80)?(L-0x40):(L-0x62) |
8E 40–A0 FE | U+E311–U+EEB7 | 0xe311 + (157 * (H-0x8e)) + (L<0x80)?(L-0x40):(L-0x62) |
C6 A1–C8 FE | U+F6B1–U+F848 | 0xf672 + (157 * (H-0xc6)) + (L<0x80)?(L-0x40):(L-0x62) |
FA 40–FE FE | U+E000–U+E310 | 0xe000 + (157 * (H-0xfa)) + (L<0x80)?(L-0x40):(L-0x62) |
Esta asignación también se utiliza en HKSCS donde un glifo determinado aún no se encuentra en la revisión Unicode especificada. [27]