Code page 936 (IBM)

(Redirected from Code page 946)

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.[2][3] Code page 946 uses the same double-byte component, but an extended single-byte component (Code page 1042).[2][4]

IBM-936
Alias(es)SHIFTGB[1]
Language(s)Simplified Chinese
Created byIBM
Current statusDeprecated
Transforms / EncodesGB 2312
Succeeded byIBM-1381
Other related encoding(s)Shift JIS

IBM code page 936 should not be confused with the identically numbered Windows code page, which is a variant of the GBK encoding;[2] GBK is called Code page 1386 by IBM. While GBK is a superset of the EUC-CN encoding of GB 2312, IBM-936 uses a different coded form of GB 2312, more closely resembling the relationship of Shift JIS to JIS X 0208.

History

edit
 
Except for Shift JIS itself, the similarly structured code pages for other CJK locales were phased out between 1992 and 2016.

The encoding was in use mainly during the 1980s and early 1990s. While the original IBM PC (IBM 5150) lacked functionality for processing data in CJK languages, the IBM 5550 possessed such functionality, and was available in models supporting Japanese, Korean, Traditional Chinese or Simplified Chinese. Code page 936 for Simplified Chinese accompanied code page 932 (Shift JIS) for Japanese, code page 934 for Korean and code page 938 for Traditional Chinese.

The last revision of IBM-928/936/946 was documented in 1992, and it was superseded in 1993 by the EUC-CN-based code pages 1380 through 1383; code page 1380 encodes the same characters as code page 928, but in a different layout.[5] As of 1998, "some older Chinese packages" still included an algorithm for converting between IBM-936 and other encodings of GB 2312.[1]

Status

edit

Although chart definitions for Code page 1380 (the document C-H 3-3220-130 1993-11) are provided online by IBM, IBM does not similarly provide the chart definition for the older Code page 928 (the document C-H 3-3220-130 1992-11, i.e. an earlier revision of the same specification).[5][6] International Components for Unicode (ICU) does not include an IBM-936 or IBM-946 codec, and uses the Windows code page for the "cp936" label.[7] The ICU project does possess mapping data for IBM-946, which it makes publicly available,[8] but does not ship it with ICU.

Structure

edit

Code page 928, the double byte component, includes 9,355 characters as double-byte sequences starting with 0x81 through 0xAC and 0xF0 through 0xFA.[9]

The 0x81–AC lead byte range is used for GB 2312 characters: lead bytes 0x81–87 were used for non-hanzi, 0x88–9C are used for level 1 hanzi and 0x9C–AC are used for level 2 hanzi.[1][5][8] Like Shift JIS, trail (second) bytes are in the range 0x40–FC excluding 0x7F, allowing two GB 2312 rows to be encoded per lead byte;[8] unlike Shift JIS, the bytes 0xA0–AC are not excluded from the lead byte range,[5][8] since JIS X 0201 compatibility was not required. The 0xF0–FA lead byte range is used for IBM extensions: 0xF0 through 0xF9 are used for user-defined characters, and 0xFA is used for additional non-hanzi.[5]

References

edit
  1. ^ a b c Leisher, Mark (2008) [1998-03-06]. "SHIFTGB.TXT: Shifted GB2312.1980. Generated from an algorithm provided with some older Chinese packages". Department of Mathematical Sciences, New Mexico State University. Archived from the original on January 20, 2023.
  2. ^ a b c Lunde, Ken (2009). "Chapter 4: Encoding Methods (§ Code Pages)". CJKV Information Processing (2nd ed.). Sebastopol, California: O'Reilly Media. pp. 278–282. ISBN 978-0-596-51447-1.
  3. ^ "CCSID 936". IBM. Archived from the original on March 27, 2016.
  4. ^ "CCSID 946". IBM. Archived from the original on March 26, 2016.
  5. ^ a b c d e "Table 1: Registration of GCSGID and CPGID for the IBM CH-S Graphic Character Set". C-H 3-3220-130 1993-11: IBM Simplified Chinese Graphic Character Set (PDF). 1993. p. 6.
  6. ^ "Code page 928 information document". Archived from the original on March 17, 2016.
  7. ^ "windows-936-2000 (alias cp936)". ICU Demonstration – Converter Explorer. International Components for Unicode.
  8. ^ a b c d "ibm-946_P100-1995". International Components for Unicode Data Repository. Unicode Consortium, IBM.
  9. ^ "CCSID 928 information document". Archived from the original on March 26, 2016.