Code page 950

Last updated
Code page 950
Code-page-950.svg
Code page 950 layout as implemented by Microsoft (top, MS-950 or IBM-1373) and IBM (bottom, IBM-950).
Language(s) Traditional Chinese
Created byMicrosoft
Extends Big5
Based onBig5-ETen

Code page 950 is the code page used on Microsoft Windows for Traditional Chinese. It is Microsoft's implementation of the de facto standard Big5 character encoding. The code page is not registered with IANA, [1] and hence, it is not a standard to communicate information over the internet, although it is usually labelled simply as big5, including by Microsoft library functions. [2]

Contents

Terminology and variants

The major difference between Windows code page 950 and "common" (non-vendor-specific) Big5 is the incorporation of a subset of the ETEN extensions to Big5 at 0xF9D6 through 0xF9FE (comprising the seven Chinese characters 碁, 銹, 裏, 墻, 恒, 粧, and 嫺, followed by 34 box drawing characters and block elements). The ranges used by some of the other ETEN extended characters are instead defined as end-user defined (private use) characters. [3]

IBM's CCSID 950 comprises single byte code page 1114 (CCSID 1114) and double byte code page 947 (CCSID 947), [4] [5] [6] and, while also a Big5 variant, is somewhat different from Microsoft's code page 950, incorporating some of the ETEN extensions for lead bytes 0xA3, [7] 0xC6, [3] [8] 0xC7 [9] and 0xC8, [3] [10] while omitting those with lead byte 0xF9 (which Microsoft includes), mapping them instead to the Private Use Area as user-defined characters. [3] [11] It also includes two non-ETEN extension regions with trail bytes 0x81–A0, i.e. outside the usual Big5 trail byte range but similar to the Big5+ trail byte range: area 5 has lead bytes 0xF2–F9 and contains IBM-selected characters, while area 9 has lead bytes 0x81–8C and is a user-defined region. [12]

Microsoft updated their version of code page 950 in 2000, adding the euro sign (€) at the double-byte code 0xA3E1. IBM refers to the euro sign update of their Big-5 variant as CCSID 1370 (which includes both single-byte (0x80) and double-byte euro signs). [13] It comprises single byte code page 1114 (CCSID 5210) and double byte code page 947 (CCSID 21427). [13] [14] [15]

For better compatibility with Microsoft's variant in IBM Db2, IBM also define the pure double-byte Code page 1372 [16] and associated variable-width CCSID 1373, which includes only the double-byte euro sign [17] and matches Microsoft behaviour in which extension regions are included. [18] [19] [20] [21] [22]

Single byte codes

The following are the single-byte graphical characters included by IBM. The codes 0x00 though 0x1F and 0x7F may be used for C0 control codes instead, depending on context (compare code page 437, code page 897). As noted above, the single-byte euro sign at 0x80 is not included in IBM CCSIDs 950 or 1373, nor by Microsoft.

Code page 1114 [23] [24]
0123456789ABCDEF
0x
1x §
2x  SP   ! " # $ % & ' ( ) * + , - . /
3x 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
4x @ A B C D E F G H I J K L M N O
5x P Q R S T U V W X Y Z [ \ ] ^ _
6x ` a b c d e f g h i j k l m n o
7x p q r s t u v w x y z { | } ~
8x

The rest are parts of a double byte sequence.

Private Use Area usage

Mapping from Big5 EUDC to PUA code points [25]
Big5 rangeUnicode rangeFormula [26]
81 40–8D FEU+EEB8–U+F6B00xeeb8 + (157 * (H-0x81)) + (L<0x80)?(L-0x40):(L-0x62)
8E 40–A0 FEU+E311–U+EEB70xe311 + (157 * (H-0x8e)) + (L<0x80)?(L-0x40):(L-0x62)
C6 A1–C8 FEU+F6B1–U+F8480xf672 + (157 * (H-0xc6)) + (L<0x80)?(L-0x40):(L-0x62)
FA 40–FE FEU+E000–U+E3100xe000 + (157 * (H-0xfa)) + (L<0x80)?(L-0x40):(L-0x62)

This mapping is also used in HKSCS where a given glyph is not yet found in the Unicode revision specified. [27]

See also

Related Research Articles

ISO/IEC 8859-3:1999, Information technology — 8-bit single-byte coded graphic character sets — Part 3: Latin alphabet No. 3, is part of the ISO/IEC 8859 series of ASCII-based standard character encodings, first edition published in 1988. It is informally referred to as Latin-3 or South European. It was designed to cover Turkish, Maltese and Esperanto, though the introduction of ISO/IEC 8859-9 superseded it for Turkish. The encoding was popular for users of Esperanto, but fell out of use as application support for Unicode became more common.

Big-5 or Big5 is a Chinese character encoding method used in Taiwan, Hong Kong, and Macau for traditional Chinese characters.

ISO/IEC 8859-11:2001, Information technology — 8-bit single-byte coded graphic character sets — Part 11: Latin/Thai alphabet, is part of the ISO/IEC 8859 series of ASCII-based standard character encodings, first edition published in 2001. It is informally referred to as Latin/Thai. It is nearly identical to the national Thai standard TIS-620 (1990). The sole difference is that ISO/IEC 8859-11 allocates non-breaking space to code 0xA0, while TIS-620 leaves it undefined.

ISO/IEC 8859-7:2003, Information technology — 8-bit single-byte coded graphic character sets — Part 7: Latin/Greek alphabet, is part of the ISO/IEC 8859 series of ASCII-based standard character encodings, first edition published in 1987. It is informally referred to as Latin/Greek. It was designed to cover the modern Greek language. The original 1987 version of the standard had the same character assignments as the Greek national standard ELOT 928, published in 1986. The table in this article shows the updated 2003 version which adds three characters. Microsoft has assigned code page 28597 a.k.a. Windows-28597 to ISO-8859-7 in Windows. IBM has assigned code page 813 to ISO 8859-7. (IBM CCSID 813 is the original encoding. CCSID 4909 adds the euro sign. CCSID 9005 further adds the drachma sign and ypogegrammeni.)

Windows-1258 is a code page used in Microsoft Windows to represent Vietnamese texts. It makes use of combining diacritical marks.

Extended Unix Code (EUC) is a multibyte character encoding system used primarily for Japanese, Korean, and simplified Chinese (characters).

The Hong Kong Supplementary Character Set is a set of Chinese characters – 4,702 in total in the initial release—used in Cantonese, as well as when writing the names of some places in Hong Kong.

<span class="mw-page-title-main">Code page 855</span> Code page

Code page 855 is a code page used under DOS to write Cyrillic script.

Windows code page 1253, commonly known by its IANA-registered name Windows-1253 or abbreviated as cp1253, is a Microsoft Windows code page used to write modern Greek. It is not capable of supporting the older polytonic Greek.

Windows-1255 is a code page used under Microsoft Windows to write Hebrew. It is an almost compatible superset of ISO-8859-8 – most of the symbols are in the same positions, but Windows-1255 adds vowel-points and other signs in lower positions.

Windows-1257 is an 8-bit, single-byte extended ASCII code page used to support the Estonian, Latvian and Lithuanian languages under Microsoft Windows. In Lithuania, it is standardised as LST 1590-3, alongside a modified variant named LST 1590-4.

Code page 865 is a code page used under DOS in Denmark and Norway to write Nordic languages.

The CNS 11643 character set, also officially known as the Chinese Standard Interchange Code or CSIC, is officially the standard character set of Taiwan. In practice, variants of the related Big5 character set are de facto standard.

Windows code page 936, is Microsoft's legacy (pre-Unicode) character encoding for representing simplified Chinese text on computers. It is one of the four Windows DBCSs for East Asian languages, accompanying code pages 932 (Japanese), 949 (Korean) and 950. It is a variant of the Mainland Chinese Guójiā Biāozhǔn Kuòzhǎn (GBK) encoding, and roughly corresponds to IBM code page 1386.

<span class="mw-page-title-main">Unified Hangul Code</span> Windows character set for Korean

Unified Hangul Code (UHC), or Extended Wansung, also known under Microsoft Windows as Code Page 949, is the Microsoft Windows code page for the Korean language. It is an extension of Wansung Code to include all 11172 non-partial Hangul syllables present in Johab. This corresponds to the pre-composed syllables available in Unicode 2.0 and later.

<span class="mw-page-title-main">Code page 949 (IBM)</span>

IBM code page 949 (IBM-949) is a character encoding which has been used by IBM to represent Korean language text on computers. It is a variable-width encoding which represents the characters from the Wansung code defined by the South Korean standard KS X 1001 in a format compatible with EUC-KR, but adds IBM extensions for additional hanja, additional precomposed Hangul syllables, and user-defined characters.

IBM code page 936 is a character encoding for Simplified Chinese including 1880 user-defined characters (UDC), which was superseded in 1993. It is a combination of the single-byte Code page 903 and the double-byte Code page 928. Code page 946 uses the same double-byte component, but an extended single-byte component.

Code page 951 is a code page number used for different purposes by IBM and Microsoft.

Code page 896, called Japan 7-Bit Katakana Extended, is IBM's code page for code-set G2 of EUC-JP, a 7-bit code page representing the Kana set of JIS X 0201 and accompanying Code page 895 which corresponds to the lower half of that standard. It encodes half-width katakana.

Code page 921 is a code page used under IBM AIX and DOS to write the Estonian, Latvian, and Lithuanian languages. It is an extension of ISO/IEC 8859-13.

References

  1. "Character Sets". IANA — Protocol Registries.
  2. "Encoding.WindowsCodePage Property - .NET Framework (current version)". MSDN. Microsoft.
  3. 1 2 3 4 Zhu, HF.; Hu, DY.; Wang, ZG.; Kao, TC.; Chang, WCH.; Crispin, M. (1996). "Chinese Character Encoding for Internet Messages". Requests for Comments. IETF. doi: 10.17487/rfc1922 . RFC 1922.
  4. "CCSID 950 information document". Archived from the original on 2014-12-02.
  5. "CCSID 1114 information document". Archived from the original on 2016-03-27.
  6. "CCSID 947 information document". Archived from the original on 2014-12-01.
  7. "Lead byte A3: ibm-950_P110-1999". ICU Demonstration - Converter Explorer. International Components for Unicode.
  8. "Lead byte C6: ibm-950_P110-1999". ICU Demonstration - Converter Explorer. International Components for Unicode.
  9. "Lead byte C7: ibm-950_P110-1999". ICU Demonstration - Converter Explorer. International Components for Unicode.
  10. "Lead byte C8: ibm-950_P110-1999". ICU Demonstration - Converter Explorer. International Components for Unicode.
  11. "Lead byte F9: ibm-950_P110-1999". ICU Demonstration - Converter Explorer. International Components for Unicode.
  12. "IBM Traditional Chinese Graphic Character Set for IBM BIG-5 Code" (PDF). IBM. 1999. C-H 3-3220-131 1999-04.
  13. 1 2 "CCSID 1370 information document". Archived from the original on 2016-03-27.
  14. "CCSID 5210 information document". Archived from the original on 2014-11-29.
  15. "CCSID 21427 information document". Archived from the original on 2016-03-27.
  16. "CPGID 01372: MS T-Chinese Big-5 (Special for DB2)". IBM Globalization - Code page identifiers. Archived from the original on 2016-03-17.
  17. "ibm-1373_P100-2002". ICU Demonstration - Converter Explorer. International Components for Unicode.
  18. "Lead byte A3: ibm-1373_P100-2002". ICU Demonstration - Converter Explorer. International Components for Unicode.
  19. "Lead byte C6: ibm-1373_P100-2002". ICU Demonstration - Converter Explorer. International Components for Unicode.
  20. "Lead byte C7: ibm-1373_P100-2002". ICU Demonstration - Converter Explorer. International Components for Unicode.
  21. "Lead byte C8: ibm-1373_P100-2002". ICU Demonstration - Converter Explorer. International Components for Unicode.
  22. "Lead byte F9: ibm-1373_P100-2002". ICU Demonstration - Converter Explorer. International Components for Unicode.
  23. Code Page CPGID 01114 (pdf) (PDF), IBM
  24. Code Page CPGID 01114 (txt), IBM
  25. "Windows Best Fit Chart: CP950". unicode.org. Retrieved 13 September 2016.
  26. "Big5". Kanji Database. Retrieved 13 September 2016.
  27. "Big5-HKSCS:2008". Archived from the original on 2016-09-13.