Code page 950

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Narky Blert (talk | contribs) at 11:41, 30 July 2020 (Link to DAB page repaired). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Code page 950
Language(s)Traditional Chinese
Created byMicrosoft
ExtendsBig5
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]

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 implementation of CCSID 950,[4] is slightly different, incorporating some of the ETEN extensions for lead bytes 0xA3,[5] 0xC6,[3][6] 0xC7[7] and 0xC8,[3][8] while omitting those with lead byte 0xF9 (which Microsoft includes), mapping them instead to the Private Use Area as user-defined characters.[3][9]

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 as CCSID 1370 (which includes both single-byte (0x80) and double-byte euro signs)[10] or CCSID 1373 (which includes only the double-byte euro sign).[11] Code page 1373 matches Microsoft behaviour in which ETEN extensions are included.[12][13][14][15][16]

CCSID 950 comprises single byte code page 1114 (CCSID 1114) and double byte code page 947 (CCSID 947),[4][17][18] whereas the euro sign extended CCSID 1370 comprises single byte code page 1114 (CCSID 5210) and double byte code page 947 (CCSID 21427).[10][19][20]

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[21][22]
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
0_ Template:Chset-color-undef|
 
Template:Chset-color-graph|
263A
Template:Chset-color-graph|
263B
Template:Chset-color-graph|
2665
Template:Chset-color-graph|
2666
Template:Chset-color-graph|
2663
Template:Chset-color-graph|
2660
Template:Chset-color-punct|
2022
Template:Chset-color-graph|
25D8
Template:Chset-color-graph|
25CB
Template:Chset-color-graph|
25D9
Template:Chset-color-graph|
2642
Template:Chset-color-graph|
2640
Template:Chset-color-graph|
266A
Template:Chset-color-graph|
266B
Template:Chset-color-graph|
263C
1_ Template:Chset-color-graph|
25BA
Template:Chset-color-graph|
25C4
Template:Chset-color-graph|
2195
Template:Chset-color-punct|
203C
Template:Chset-color-punct|
00B6
Template:Chset-color-punct|§
00A7
Template:Chset-color-graph|
25AC
Template:Chset-color-graph|
21A8
Template:Chset-color-graph|
2191
Template:Chset-color-graph|
2193
Template:Chset-color-graph|
2192
Template:Chset-color-graph|
2190
Template:Chset-color-graph|
221F
Template:Chset-color-graph|
2194
Template:Chset-color-graph|
25B2
Template:Chset-color-graph|
25BC
2_ Template:Chset-color-misc|SP
0020
Template:Chset-color-punct|!
0021
Template:Chset-color-punct|"
0022
Template:Chset-color-punct|#
0023
Template:Chset-color-graph|$
0024
Template:Chset-color-punct|%
0025
Template:Chset-color-punct|&
0026
Template:Chset-color-punct|'
0027
Template:Chset-color-punct|(
0028
Template:Chset-color-punct|)
0029
Template:Chset-color-punct|*
002A
Template:Chset-color-graph|+
002B
Template:Chset-color-punct|,
002C
Template:Chset-color-punct|-
002D
Template:Chset-color-punct|.
002E
Template:Chset-color-punct|/
002F
3_ Template:Chset-color-digit|0
0030
Template:Chset-color-digit|1
0031
Template:Chset-color-digit|2
0032
Template:Chset-color-digit|3
0033
Template:Chset-color-digit|4
0034
Template:Chset-color-digit|5
0035
Template:Chset-color-digit|6
0036
Template:Chset-color-digit|7
0037
Template:Chset-color-digit|8
0038
Template:Chset-color-digit|9
0039
Template:Chset-color-punct|:
003A
Template:Chset-color-punct|;
003B
Template:Chset-color-graph|<
003C
Template:Chset-color-graph|=
003D
Template:Chset-color-graph|>
003E
Template:Chset-color-punct|?
003F
4_ Template:Chset-color-punct|@
0040
Template:Chset-color-letter|A
0041
Template:Chset-color-letter|B
0042
Template:Chset-color-letter|C
0043
Template:Chset-color-letter|D
0044
Template:Chset-color-letter|E
0045
Template:Chset-color-letter|F
0046
Template:Chset-color-letter|G
0047
Template:Chset-color-letter|H
0048
Template:Chset-color-letter|I
0049
Template:Chset-color-letter|J
004A
Template:Chset-color-letter|K
004B
Template:Chset-color-letter|L
004C
Template:Chset-color-letter|M
004D
Template:Chset-color-letter|N
004E
Template:Chset-color-letter|O
004F
5_ Template:Chset-color-letter|P
0050
Template:Chset-color-letter|Q
0051
Template:Chset-color-letter|R
0052
Template:Chset-color-letter|S
0053
Template:Chset-color-letter|T
0054
Template:Chset-color-letter|U
0055
Template:Chset-color-letter|V
0056
Template:Chset-color-letter|W
0057
Template:Chset-color-letter|X
0058
Template:Chset-color-letter|Y
0059
Template:Chset-color-letter|Z
005A
Template:Chset-color-punct|[
005B
Template:Chset-color-punct|\
005C
Template:Chset-color-punct|]
005D
Template:Chset-color-graph|^
005E
Template:Chset-color-punct|_
005F
6_ Template:Chset-color-graph|`
0060
Template:Chset-color-letter|a
0061
Template:Chset-color-letter|b
0062
Template:Chset-color-letter|c
0063
Template:Chset-color-letter|d
0064
Template:Chset-color-letter|e
0065
Template:Chset-color-letter|f
0066
Template:Chset-color-letter|g
0067
Template:Chset-color-letter|h
0068
Template:Chset-color-letter|i
0069
Template:Chset-color-letter|j
006A
Template:Chset-color-letter|k
006B
Template:Chset-color-letter|l
006C
Template:Chset-color-letter|m
006D
Template:Chset-color-letter|n
006E
Template:Chset-color-letter|o
006F
7_ Template:Chset-color-letter|p
0070
Template:Chset-color-letter|q
0071
Template:Chset-color-letter|r
0072
Template:Chset-color-letter|s
0073
Template:Chset-color-letter|t
0074
Template:Chset-color-letter|u
0075
Template:Chset-color-letter|v
0076
Template:Chset-color-letter|w
0077
Template:Chset-color-letter|x
0078
Template:Chset-color-letter|y
0079
Template:Chset-color-letter|z
007A
Template:Chset-color-punct|{
007B
Template:Chset-color-graph||
007C
Template:Chset-color-punct|}
007D
Template:Chset-color-graph|~
007E
Template:Chset-color-graph|
2302
8_ Template:Chset-color-graph|
20AC
Template:Chset-color-undef|
 
Template:Chset-color-undef|
 
Template:Chset-color-undef|
 
Template:Chset-color-undef|
 
Template:Chset-color-undef|
 
Template:Chset-color-undef|
 
Template:Chset-color-undef|
 
Template:Chset-color-undef|
 
Template:Chset-color-undef|
 
Template:Chset-color-undef|
 
Template:Chset-color-undef|
 
Template:Chset-color-undef|
 
Template:Chset-color-undef|
 
Template:Chset-color-undef|
 
Template:Chset-color-undef|
 

  Letter  Number  Punctuation  Symbol  Other  Undefined

The rest are parts of a double byte sequence.

Private Use Area usage

Mapping from Big5 EUDC to PUA code points[23]
Big5 range Unicode range Formula[24]
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)

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

See also

References

  1. ^ "Character Sets". IANA — Protocol Registries.
  2. ^ "Encoding.WindowsCodePage Property - .NET Framework (current version)". MSDN. Microsoft.
  3. ^ a b c d 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. ^ a b "CCSID 950 information document". Archived from the original on 2014-12-02.
  5. ^ "Lead byte A3: ibm-950_P110-1999". ICU Demonstration - Converter Explorer. International Components for Unicode.
  6. ^ "Lead byte C6: ibm-950_P110-1999". ICU Demonstration - Converter Explorer. International Components for Unicode.
  7. ^ "Lead byte C7: ibm-950_P110-1999". ICU Demonstration - Converter Explorer. International Components for Unicode.
  8. ^ "Lead byte C8: ibm-950_P110-1999". ICU Demonstration - Converter Explorer. International Components for Unicode.
  9. ^ "Lead byte F9: ibm-950_P110-1999". ICU Demonstration - Converter Explorer. International Components for Unicode.
  10. ^ a b "CCSID 1370 information document". Archived from the original on 2016-03-27.
  11. ^ "ibm-1373_P100-2002". ICU Demonstration - Converter Explorer. International Components for Unicode.
  12. ^ "Lead byte A3: ibm-1373_P100-2002". ICU Demonstration - Converter Explorer. International Components for Unicode.
  13. ^ "Lead byte C6: ibm-1373_P100-2002". ICU Demonstration - Converter Explorer. International Components for Unicode.
  14. ^ "Lead byte C7: ibm-1373_P100-2002". ICU Demonstration - Converter Explorer. International Components for Unicode.
  15. ^ "Lead byte C8: ibm-1373_P100-2002". ICU Demonstration - Converter Explorer. International Components for Unicode.
  16. ^ "Lead byte F9: ibm-1373_P100-2002". ICU Demonstration - Converter Explorer. International Components for Unicode.
  17. ^ "CCSID 1114 information document". Archived from the original on 2016-03-27.
  18. ^ "CCSID 947 information document". Archived from the original on 2014-12-01.
  19. ^ "CCSID 5210 information document". Archived from the original on 2014-11-29.
  20. ^ "CCSID 21427 information document". Archived from the original on 2016-03-27.
  21. ^ Code Page CPGID 01114 (pdf) (PDF), IBM
  22. ^ Code Page CPGID 01114 (txt), IBM
  23. ^ "Windows Best Fit Chart: CP950". unicode.org. Retrieved 13 September 2016.
  24. ^ "Big5". Kanji Database. Retrieved 13 September 2016.
  25. ^ "Big5-HKSCS:2008". Archived from the original on 2016-09-13.

External links