- GB 18030
GB18030 is the registered Internet name for the official
character set of thePeople's Republic of China (PRC) superseding GB2312. This character set is formally called "Chinese National Standard GB 18030-2005: Information technology -- Chinese coded character set". GB abbreviates Guójiā Biāozhǔn (国家标准), which means "national standard" in Chinese. The standard was published by the China Standard Press, Beijing,November 8 ,2005 . Only a portion of the standard is mandatory. SinceMay 1 ,2006 , support for the mandatory subset is officially required for all software products sold in the PRC. Due to its Unicode equivalence, GB18030 supports both simplified and traditional Chinese characters.An older version of the standard, known as "Chinese National Standard GB 18030-2000: Information Technology -- Chinese ideograms coded character set for information interchange -- Extension for the basic set", was published on
March 17 ,2000 . The encoding scheme remains the same in the new version, except that code points for the characters ḿ and have been exchanged. More code points are now associated to characters due to update ofUnicode , especially the appearance ofCJK Unified Ideographs Extension B. Some characters used byethnic minorities in China , such as Mongolian characters and Tibetan characters, have been added as well, which accounts for the renaming of the standard.GB18030 can be considered a
Unicode Transformation Format (i.e. an encoding of allUnicode code points) that maintains compatibility with a legacy character set. Like UTF-8, GB18030 is a superset ofASCII and can represent the whole range ofUnicode code points; in addition, it is also a superset of GB2312. GB18030 also maintains compatibility with Windows Codepage 936, sometimes known asGBK , which is Microsoft's extended version of GB2312, with the exception of theeuro sign which is given a single byte code of 0x80 in Microsoft's later versions of GBK and a two byte code of A2 E3 in GB18030. GB 18030-2005 is also compatible with Chinese Internal Code Specification, Version 1.0, known as GBK 1.0, which is a slight extension of Windows Codepage 936 in 1995. Mapping to Unicode, however, has been modified for the 81 characters that were provisionally assigned a Unicode PUA code point in GBK 1.0 and that have later been encoded in Unicode. This is specified in Appendix E of GB 18030-2005. There are 14 characters in GB 18030-2005 that are still mapped to Unicode PUA.Part of the mapping data is from a lookup table (similarly to GBK). The rest is calculated algorithmically. Unfortunately it also inherits the bad aspects of the legacy standards it's based on (most notably needing special code to safely find ASCII characters in a GB18030 sequence).
Most major computer companies had already standardised on some version of Unicode as the primary format for use in their binary formats and OS calls. However, they mostly had only supported
code points in the BMP originally defined in Unicode 1.0, which supported only 65,536 codepoints and was often encoded in 16 bits asUCS-2 .The mandatory part of GB 18030-2005 consists of 1 byte and 2 byte encoding, together with 4 byte encoding for
CJK Unified Ideographs Extension A. The corresponding Unicode code points of this subset lie entirely in theBMP .In a move of historic significance for software supporting Unicode, the PRC decided to mandate support of certain code points outside the BMP. This means that software can no longer get away with treating characters as 16 bit fixed width entities (
UCS-2 ). Therefore they must either process the data in a variable width format (such asUTF-8 orUTF-16 ), which are the most common choices, or move to a larger fixed width format (such asUCS-4 orUTF-32 ). Microsoft made the change from UCS-2 to UTF-16 with Windows 2000.GB18030 Support
Encoding
Windows 2000 can support the GB18030 encoding if GB18030 Support Package [http://www.microsoft.com/downloads/details.aspx?FamilyID=fc02e2e3-14bb-46c1-afee-3732d6249647&DisplayLang=en] is installed. Windows XP can support it natively.
More specifically, supporting the GB18030 encoding on Windows means that Code Page 54936 is supported by MultiByteToWideChar and WideCharToMultiByte. Due to the backward compatibility of the mapping, many files in GB18030 can be actually opened successfully as the legacy Code Page 936, that is GBK, even if the Code Page 54936 is not supported. However, that is only true when the file in question does not contain any character that does not exist in the Code Page 936, including most characters belonging to non-Chinese scripts (see below for examples).
Glyphs
GB18030 Support Package contains SimSun18030.ttc, a TrueType font collection file which combines two Chinese fonts, SimSun-18030 and NSimSun-18030.
The
SimSun 18030 font includes all the characters in Unicode 2.1 plus new characters found in the Unicode CJK Unified Ideographs Extension A section, but despite its name, it does not contain glyphs for all GB 18030 characters. Note that all (about a million) Unicode code points up to U+10FFFF can be encoded as GB 18030, hence “a font that fully supports GB 18030” would mean a font that contains glyphs for all Unicode characters, not only for CJK ones. HAN NOM A and HAN NOM B [http://sourceforge.net/project/showfiles.php?group_id=153105&package_id=172061] are free fonts, which include all the characters in the Extension A and the Extension B, more exhaustive than SimSun-18030, or even than Simsun (Founder Extended), but they don't support all code points defined in Unicode 5.0.0 either.Technical details
The four byte scheme can be thought of as consisting of two units, each of two bytes. Each unit has a similar format to a GBK two byte character but with a range of values for the second byte of 0x30–0x39 (the
ASCII codes for decimal digits). The first byte has the range 0x81 to 0xFE, as before. This means that a string search routine that is safe for GBK should also be reasonably safe for GB18030 (in much the same way that a basicbyte-oriented search routine is reasonably safe forEUC ).This gives a total of 1,587,600 (126×10×126×10) possible 4 byte sequences, which is easily sufficient to cover
Unicode 's 1,111,998 (17×65536 − 2048 surrogates − 66 noncharacters) assigned and reserved code points. (Surrogates and noncharacters are considered designated but not assigned.)Unfortunately, to further complicate matters there are no simple rules to translate between a 4 byte sequence and its corresponding
code point . Instead, codes are allocated sequentially (with the first byte containing the most significant part and the last the least significant part) only to Unicode code points that are not mapped in any other manner. For example:U+00DE (Þ) → 81 30 89 37 U+00DF (ß) → 81 30 89 38 U+00E0 (à) → A8 A4 U+00E1 (á) → A8 A2 U+00E2 (â) → 81 30 89 39 U+00E3 (ã) → 81 30 8A 30
See also
*
GBK
*Guobiao code
*CJK
*Chinese character encoding
*Comparison of Unicode encodings External links
* [http://www.iana.org/assignments/charset-reg/GB18030 IANA Charset Registration for GB18030]
* [http://examples.oreilly.com/cjkvinfo/pdf/GB18030_Summary.pdf English language summary of GB 18030-2000]
* [http://developers.sun.com/dev/gadc/technicalpublications/articles/gb18030.html Introduction to GB18030 including evolution from GB2312 and GBK] (Sun)
* [http://www-128.ibm.com/developerworks/library/u-china.html GB18030: A mega-codepage] (IBM DeveloperWorks)
* [http://www.lisa.org/globalizationinsider/2002/05/a_look_at_china.html A Look at China’s New GB 18030 Character Set Standard]
* [http://source.icu-project.org/repos/icu/data/trunk/charset/data/xml/gb-18030-2000.xml Authoritative mapping table between GB18030-2000 and Unicode] Due to a bug in Firefox, this large XML file may cause Firefox to hang. Other browsers can handle this file.
* [http://demo.icu-project.org/icu-bin/convexp?conv=gb18030 ICU Converter Explorer: GB18030]
* [http://www.unicode.org/charts/PDF/U3400.pdf Unicode CJK Unified Ideographs Extension A] (PDF, 1.5MB)
* [http://www.unicode.org/charts/PDF/U20000.pdf Unicode CJK Unified Ideographs Extension B] (PDF, 13 MB)
* [http://www.microsoft.com/downloads/details.aspx?FamilyID=fc02e2e3-14bb-46c1-afee-3732d6249647&DisplayLang=en GB18030 Support Package for Windows 2000/XP, including Chinese, Tibetan, Yi, Mongolian and Thai font by Microsoft]
* [http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id= SIL's freeware fonts, editors and documentation]
Wikimedia Foundation. 2010.