GB 2312

From Wikipedia, the free encyclopedia
(Redirected from GB2312)
GB 2312
MIME / IANAGB_2312-80 (GB2312 for usual EUC form)
Alias(es)iso-ir-58, chinese, csGB2312, csISO58GB231280
Language(s)Simplified Chinese, English
Partial support:
Traditional Chinese, Russian, Bulgarian, Greek, Japanese, Italian, Irish, Māori
StandardGB/T 2312-1980
ClassificationISO-2022-compatible DBCS, CJK encoding
ExtensionsISO-IR-165
Encoding formats
Preceded byChinese telegraph code
Succeeded byGBK, GB 18030
Other related encoding(s)JIS X 0208, KS X 1001

GB/T 2312-1980 is a key official character set of the People's Republic of China, used for Simplified Chinese characters. GB2312 is the registered internet name for EUC-CN, which is its usual encoded form. GB refers to the Guobiao standards (国家标准), whereas the T suffix (推荐; tuījiàn; 'recommendation') denotes a non-mandatory standard.[1]

GB/T 2312-1980 was originally a mandatory national standard designated GB 2312-1980. However, following a National Standard Bulletin of the People's Republic of China in 2017, GB 2312 is no longer mandatory, and its standard code is modified to GB/T 2312-1980.[2] GB/T 2312-1980 has been superseded by GBK and GB 18030, which include additional characters, but GB/T 2312 remains in widespread use as a subset of those encodings.

As of September 2022, GB2312 is the second-most popular encoding served from China and territories (after UTF-8), with 5.5% of web servers serving a page declaring it.[3] Globally, GB2312 is declared on 0.1% of all web pages.[4] However, all major web browsers decode GB2312-marked documents as if they were marked with the superset GBK encoding, except for Safari and Edge on the label GB_2312.[5]

There is an analogous character set known as GB/T 12345 Code of Chinese ideogram set for information interchange supplementary set, which supplements GB/T 2312 with traditional character forms by replacing simplified forms in their qūwèi code, and some extra 62 supplemental characters.[6][7] GB-encoded fonts often come in pairs, one with the GB/T 2312 (simplified) character set and the other with the GB/T 12345 (traditional) character set. There exists more GB supplementary encoding sets that supplements GB/T 2312, including GB/T 7589 Code of Chinese ideograms set forinformation interchange--The 2nd supplementary set and GB/T 7590 Code of Chinese ideograms set forinformation interchange--The 4th supplementary set which provides additional [Variant Chinese characters|variant characters] in the same qūwèi encoding format (later used in ISO-2022-CN), but has no relation with characters encoded in GB/T 2312.

Character range in rows[edit]

While GB/T 2312 covers over 99.99% contemporary Chinese text usage,[8] historical texts and many names remain out of scope. Old GB 2312 standard includes 6,763 Chinese characters (on two levels: the first is arranged by reading, the second by radical then number of strokes), along with symbols and punctuation, Japanese kana, the Greek and Cyrillic alphabets, Zhuyin, and a double-byte set of Pinyin letters with tone marks. In later version GB/T 2312-1980, there are 7,445 letters.

Characters in GB/T 2312 are arranged in a 94×94 grid (as in ISO 2022), and the two-byte code point of each character is expressed in the qūwèi (区位) form, which specifies a row (; ) and the position of the character within the row (cell; ; wèi). (This structure is the same as used by other ISO-2022-based national CJK character set standards; compare kuten.) For example, the character "外" (meaning: foreign) is located in row 45 position 66,[9] thus its qūwèi code is 45-66.

The rows (numbered from 1 to 94) contain characters as follows:

The rows 10–15 and 88–94 are unassigned.

For GB/T 2312-1980, it contains 682 signs and 6763 Chinese Characters.

Encodings of GB/T 2312[edit]

EUC-CN[edit]

EUC-CN is often used as the character encoding (i.e. for external storage) in programs that deal with GB/T 2312, thus maintaining compatibility with ASCII. Two bytes are used to represent every character not found in ASCII. The value of the first byte is from 0xA1–0xF7 (161–247), while the value of the second byte is from 0xA1–0xFE (161–254). Since all of these ranges are beyond ASCII, like UTF-8, it is possible to check if a byte is part of a multi-byte construct when using EUC-CN, but not if a byte is first or last.

Compared to UTF-8, GB/T 2312 (whether native or encoded in EUC-CN) is more storage efficient: while UTF-8 uses three bytes[a] per CJK ideograph, GB/T 2312 only uses two. However, GB/T 2312 does not cover as many ideographs as Unicode does.

To map the qūwèi code points to EUC bytes, add 160 (0xA0) to both the row number (or qū, 区) and cell/column number (ten or wèi, 位). The result of addition to the row number of the code point will form the high byte, and the result of addition to the cell number of the code point will form the low byte.

For example, to encode the character "外" at qūwèi cell 45-66, the high byte will use the row number 45: 45+160=205=0xCD, and the low byte will come from the cell number 66: 66+160=226=0xE2. So, the full encoding is <CD E2>.[10][11]

ISO-2022-CN[edit]

ISO-2022-CN is another encoding form of GB/T 2312, which is also the encoding specified in the official documentation. This encoding references the ISO-2022 standard, which also uses two bytes to encode characters not found in ASCII. However, instead of using the extended region of ASCII, ISO-2022 uses the same byte range as ASCII: the value of the first byte is from 0x21–0x77 (33–119), while the value of the second byte is from 0x21–0x7E (33–126). As the byte range overlaps ASCII significantly, special characters are required to indicate whether a character is in the ASCII range or is part of the two-byte sequence of extended region, namely the Shift Out and Shift In functions. This poses a risk for misencoding as improper handling of text can result in missing information.

To map the qūwèi code points to ISO-2022 bytes, add 32 (0x20) to both the row number (or qū, 区) and cell/column number (or wèi, 位). The result of addition to the row number of the code point will form the high byte, and the result of addition to the cell number of the code point will form the low byte similar to EUC encoding.

For example, to encode the character "外" at qūwèi cell 45-66, the high byte will use the row number 45: 45+32=77=0x4D, and the low byte will come from the cell number 66: 66+32=98=0x62. So, the full encoding is <4D 62>.[11]

HZ[edit]

HZ is another encoding of GB/T 2312 that is used mostly for Usenet postings; characters are represented with the same byte pairs as in ISO-2022-CN, but the byte sequences denoting the beginning and end of a range of GB 2312 text differ.

Code charts[edit]

In the tables below, where a pair of hexadecimal numbers is given for a prefix byte or a coding byte, the smaller (with the eighth bit unset or unavailable) is used when encoded over GL (0x21-0x7E), as in ISO-2022-CN or HZ-GB-2312, and the larger (with the eighth bit set) is used in the more typical case of it being encoded over GR (0xA1-0xFE), as in EUC-CN, GBK or GB 18030. Qūwèi numbers are given in decimal.

When GB/T 2312 is encoded over GR, both bytes have the eighth bit set (i.e. are greater than 0x7F). GBK and GB 18030 also make use of two-byte codes in which only the first byte has the eighth bit set for extension purposes: such codes are outside of the GB/T 2312 plane, and are not tabulated here.

Lead byte[edit]

This chart details the overall layout of the main plane of the GB/T 2312 character set by lead byte. For lead bytes used for characters other than hanzi, links are provided to charts on this page listing the characters encoded under that lead byte. For lead bytes used for hanzi, links are provided to the appropriate section of Wiktionary's hanzi index.

GB 2312 (lead bytes)
0 1 2 3 4 5 6 7 8 9 A B C D E F
2x/Ax SP[b] 1-_ 2-_ 3-_ 4-_ 5-_ 6-_ 7-_ 8-_ 9-_ 10-_ 11-_ 12-_ 13-_ 14-_ 15-_
3x/Bx 16-_ 17-_ 18-_ 19-_ 20-_ 21-_ 22-_ 23-_ 24-_ 25-_ 26-_ 27-_ 28-_ 29-_ 30-_ 31-_
4x/Cx 32-_ 33-_ 34-_ 35-_ 36-_ 37-_ 38-_ 39-_ 40-_ 41-_ 42-_ 43-_ 44-_ 45-_ 46-_ 47-_
5x/Dx 48-_ 49-_ 50-_ 51-_ 52-_ 53-_ 54-_ 55-_ 56-_ 57-_ 58-_ 59-_ 60-_ 61-_ 62-_ 63-_
6x/Ex 64-_ 65-_ 66-_ 67-_ 68-_ 69-_ 70-_ 71-_ 72-_ 73-_ 74-_ 75-_ 76-_ 77-_ 78-_ 79-_
7x/Fx 80-_ 81-_ 82-_ 83-_ 84-_ 85-_ 86-_ 87-_ 88-_ 89-_ 90-_ 91-_ 92-_ 93-_ 94-_ DEL[b]
  Lead byte
  Unused lead byte

Non-Hanzi rows[edit]

The following charts list the non-hanzi characters available in GB/T 2312, in GB/T 12345, and in double-byte region 1 of GB 18030 (which roughly corresponds to the non-hanzi region of GB/T 2312). Notes are made where these differ, and where GB 6345.1 and ISO-IR-165 differ from these. Cross-references are made to articles on other CJK national character sets for comparison.

Two implementations of GB2312[edit]

EUC-CN GBK/GB18030 subset GB2312.TXT Character name[12]: 3 
A1A4 U+00B7 · MIDDLE DOT U+30FB KATAKANA MIDDLE DOT 间隔点; 'separator dot'
A1AA U+2014 EM DASH U+2015 HORIZONTAL BAR 破折号; 'em dash'

Unicode mappings of the interpunct (Chinese: 间隔点; lit. 'separator dot') and em dash (Chinese: 破折号) in the subset of GBK and GB 18030 corresponding to GB/T 2312 (U+00B7 · MIDDLE DOT and U+2014 EM DASH) differ from those which are listed in GB2312.TXT (U+30FB KATAKANA MIDDLE DOT and U+2015 HORIZONTAL BAR), which is a data file which was previously provided by the Unicode Consortium,[13] although it has been designated as obsolete since August 2011[14] and is no longer hosted as of September 2016.

As of 2015, Microsoft .Net Framework follows GB 18030 mappings when mapping those two characters in data labelled gb2312, whereas ICU,[15] iconv-1.14,[16] php-5.6, ActivePerl-5.20, Java 1.7 and Python 3.4[17] follow GB2312.TXT in response to the gb2312 label. Ruby 2.2 is compatible with both implementations; it internally converts the conflictive characters to the GB 18030 subset. The W3C/WHATWG technical recommendation for use with HTML5 specifies a GBK encoding to be inferred for streams labelled gb2312, which in turn uses a GB18030 decoder.[18]

Other differing mappings have been defined and used by individual vendors,[13] including one from Apple.[19]

Character set 0x21/0xA1 (row 1: punctuation and symbols)[edit]

This row contains punctuation, mathematical operators, and other symbols. The following table shows the GB 18030 mappings[20] for these GB/T 2312 characters first, followed by any other documented mappings.

GB 2312 (prefixed with 0x21/0xA1)
0 1 2 3 4 5 6 7 8 9 A B C D E F
2x/Ax IDSP
3001

3002
·/ ˉ
02C9
ˇ
02C7
¨
00A8

3003

3005
/ / / /
2018

2019
3x/Bx
201C

201D

3014

3015

3008

3009

300A

300B

300C

300D

300E

300F

3016

3017

3010

3011
4x/Cx ±
00B1
×
00D7
÷
00F7

2236

2227

2228

2211

220F

222A

2229

2208

2237

221A

22A5

2225

2220
5x/Dx
2312

2299

222B

222E

2261

224C

2248

223D

221D

2260

226E

226F

2264

2265

221E

2235
6x/Ex
2234

2642

2640
°
00B0

2032

2033

2103

FF04
¤
00A4
/¢ /£
2030
§
00A7

2116

2606

2605
7x/Fx
25CB

25CF

25CE

25C7

25C6

25A1

25A0

25B3

25B2

203B

2192

2190

2191

2193

3013

Character set 0x22/0xA2 (row 2: list markers)[edit]

This row contains various types of list marker. Lowercase forms of the Roman numerals were not included in the original GB/T 2312[21] nor in GB/T 12345,[6] but are included in both Windows code page 936[22] and GB 18030.[20] A euro sign was also added by GB 18030.[20]

GB 2312 (prefixed with 0x22/0xA2)
0 1 2 3 4 5 6 7 8 9 A B C D E F
2x/Ax
2170

2171

2172

2173

2174

2175

2176

2177

2178

2179
3x/Bx
2488

2489

248A

248B

248C

248D

248E

248F

2490

2491

2492

2493

2494

2495

2496
4x/Cx
2497

2498

2499

249A

249B

2474

2475

2476

2477

2478

2479

247A

247B

247C

247D

247E
5x/Dx
247F

2480

2481

2482

2483

2484

2485

2486

2487

2460

2461

2462

2463

2464

2465

2466
6x/Ex
2467

2468

2469

20AC

3220

3221

3222

3223

3224

3225

3226

3227

3228

3229
7x/Fx
2160

2161

2162

2163

2164

2165

2166

2167

2168

2169

216A

216B

Character set 0x23/0xA3 (row 3: ISO 646-CN)[edit]

This row contains ISO 646-CN (GB/T 1988-80), a national counterpart to ASCII. Compare row 3 of KS X 1001, which does the same with South Korea's ISO 646 version, and row 3 of JIS X 0208 and of KPS 9566, which include only the alphanumeric subset, but in the same layout. The following chart lists ISO 646-CN.

ISO 646-CN; non-fullwidth mappings
0 1 2 3 4 5 6 7 8 9 A B C D E F
2x/Ax !
0021
"
0022
#
0023
¥
00A5
%
0025
&
0026
'
0027
(
0028
)
0029
*
002A
+
002B
,
002C
-
002D
.
002E
/
002F
3x/Bx 0
0030
1
0031
2
0032
3
0033
4
0034
5
0035
6
0036
7
0037
8
0038
9
0039
:
003A
;
003B
<
003C
=
003D
>
003E
?
003F
4x/Cx @
0040
A
0041
B
0042
C
0043
D
0044
E
0045
F
0046
G
0047
H
0048
I
0049
J
004A
K
004B
L
004C
M
004D
N
004E
O
004F
5x/Dx P
0050
Q
0051
R
0052
S
0053
T
0054
U
0055
V
0056
W
0057
X
0058
Y
0059
Z
005A
[
005B
\
005C
]
005D
^
005E
_
005F
6x/Ex `
0060
a
0061
b
0062
c
0063
d
0064
e
0065
f
0066
g
0067
h
0068
i
0069
j
006A
k
006B
l
006C
m
006D
n
006E
o
006F
7x/Fx p
0070
q
0071
r
0072
s
0073
t
0074
u
0075
v
0076
w
0077
x
0078
y
0079
z
007A
{
007B
|
007C
}
007D

203E

When used in an encoding allowing combination with ASCII such as EUC-CN (and its superset GB 18030), these characters are usually implemented as fullwidth characters, hence mappings to the Halfwidth and Fullwidth Forms block are used as shown below. GB 6345.1 also handles this row as fullwidth, and adds the halfwidth forms (as above) as row 10.[1] Apple mostly maps this row to fullwidth code points as below, but uses non-fullwidth mappings for the overline and yuan sign as above.[19]

GB 2312 (prefixed with 0x23/0xA3); fullwidth mappings
0 1 2 3 4 5 6 7 8 9 A B C D E F
2x/Ax
FF01

FF02

FF03

FFE5

FF05

FF06

FF07

FF08

FF09

FF0A

FF0B

FF0C

FF0D

FF0E

FF0F
3x/Bx
FF10

FF11

FF12

FF13

FF14

FF15

FF16

FF17

FF18

FF19

FF1A

FF1B

FF1C

FF1D

FF1E

FF1F
4x/Cx
FF20

FF21

FF22

FF23

FF24

FF25

FF26

FF27

FF28

FF29

FF2A

FF2B

FF2C

FF2D

FF2E

FF2F
5x/Dx
FF30

FF31

FF32

FF33

FF34

FF35

FF36

FF37

FF38

FF39

FF3A

FF3B

FF3C

FF3D

FF3E
_
FF3F
6x/Ex
FF40

FF41

FF42

FF43

FF44

FF45

FF46
/ɡ[c]
FF48

FF49

FF4A

FF4B

FF4C

FF4D

FF4E

FF4F
7x/Fx
FF50

FF51

FF52

FF53

FF54

FF55

FF56

FF57

FF58

FF59

FF5A

FF5B

FF5C

FF5D

FFE3

Character set 0x24/0xA4 (row 4: Hiragana)[edit]

This set contains Hiragana for writing the Japanese language.

Compare with row 4 of JIS X 0208, which this row matches, and with row 10 of KS X 1001 and of KPS 9566, which use the same layout, but in a different row.

GB 2312 (prefixed with 0x24/0xA4)
0 1 2 3 4 5 6 7 8 9 A B C D E F
2x/Ax
3041

3042

3043

3044

3045

3046

3047

3048

3049

304A

304B

304C

304D

304E

304F
3x/Bx
3050

3051

3052

3053

3054

3055

3056

3057

3058

3059

305A

305B

305C

305D

305E

305F
4x/Cx
3060

3061

3062

3063

3064

3065

3066

3067

3068

3069

306A

306B

306C

306D

306E

306F
5x/Dx
3070

3071

3072

3073

3074

3075

3076

3077

3078

3079

307A

307B

307C

307D

307E

307F
6x/Ex
3080

3081

3082

3083

3084

3085

3086

3087

3088

3089

308A

308B

308C

308D

308E

308F
7x/Fx
3090

3091

3092

3093

Character set 0x25/0xA5 (row 5: Katakana)[edit]

This set contains Katakana for writing the Japanese language. However, the Japanese long vowel mark, which is used in katakana text and included in row 1 of JIS X 0208, is not included in GB/T 2312, although it is added in GBK and GB 18030 outside of the main GB/T 2312 plane,[24] at 0xA960.[20]

Compare with row 5 of JIS X 0208, which this row matches, and with row 11 of KS X 1001 and of KPS 9566, which use the same layout, but in a different row.

GB 2312 (prefixed with 0x25/0xA5)
0 1 2 3 4 5 6 7 8 9 A B C D E F
2x/Ax
30A1

30A2

30A3

30A4

30A5

30A6

30A7

30A8

30A9

30AA

30AB

30AC

30AD

30AE

30AF
3x/Bx
30B0

30B1

30B2

30B3

30B4

30B5

30B6

30B7

30B8

30B9

30BA

30BB

30BC

30BD

30BE

30BF
4x/Cx
30C0

30C1

30C2

30C3

30C4

30C5

30C6

30C7

30C8

30C9

30CA

30CB

30CC

30CD

30CE

30CF
5x/Dx
30D0

30D1

30D2

30D3

30D4

30D5

30D6

30D7

30D8

30D9

30DA

30DB

30DC

30DD

30DE

30DF
6x/Ex
30E0

30E1

30E2

30E3

30E4

30E5

30E6

30E7

30E8

30E9

30EA

30EB

30EC

30ED

30EE

30EF
7x/Fx
30F0

30F1

30F2

30F3

30F4

30F5

30F6

Character set 0x26/0xA6 (row 6: Greek and vertical extensions)[edit]

This row contains basic support for the modern Greek alphabet, without diacritics or the final sigma.

The highlighted characters are presentation forms of punctuation marks for vertical writing, and are not included in GB/T 2312 proper, but are included in this row by GB/T 12345,[1][6] Windows code page 936,[22] Mac OS Simplified Chinese,[19] and GB 18030.[20] They are seen as "standard extensions to GB 2312".[19] Conversely, ISO-IR-165 includes patterned semigraphic characters in this row (mostly without exact counterparts in Unicode), colliding with the code positions used for the vertical extensions.[25]

Compare with row 6 of JIS X 0208, which this row matches when the vertical forms are not included, and with row 6 of KPS 9566, which includes the same Greek letters in the same layout, but adds Roman numerals rather than vertical forms. Contrast row 5 of KS X 1001, which offsets the Greek letters to include the Roman numerals first.

GB 2312 (prefixed with 0x26/0xA6)
0 1 2 3 4 5 6 7 8 9 A B C D E F
2x/Ax Α
0391
Β
0392
Γ
0393
Δ
0394
Ε
0395
Ζ
0396
Η
0397
Θ
0398
Ι
0399
Κ
039A
Λ
039B
Μ
039C
Ν
039D
Ξ
039E
Ο
039F
3x/Bx Π
03A0
Ρ
03A1
Σ
03A3
Τ
03A4
Υ
03A5
Φ
03A6
Χ
03A7
Ψ
03A8
Ω
03A9
4x/Cx α
03B1
β
03B2
γ
03B3
δ
03B4
ε
03B5
ζ
03B6
η
03B7
θ
03B8
ι
03B9
κ
03BA
λ
03BB
μ
03BC
ν
03BD
ξ
03BE
ο
03BF
5x/Dx π
03C0
ρ
03C1
σ
03C3
τ
03C4
υ
03C5
φ
03C6
χ
03C7
ψ
03C8
ω
03C9
[d]
FE10
[d]
FE12
[d]
FE11
[d]
FE13
[d]
FE14
[d]
FE15
[d]
FE16
6x/Ex
FE35

FE36

FE39

FE3A
︿
FE3F

FE40

FE3D

FE3E

FE41

FE42

FE43

FE44
[d]
FE17
[d]
FE18

FE3B

FE3C
7x/Fx
FE37

FE38

FE31
[d]
FE19

FE33

FE34

Character set 0x27/0xA7 (row 7: Cyrillic)[edit]

This set includes both cases of 33 letters from the Cyrillic script, sufficient to write the modern Russian alphabet and Bulgarian alphabet, although other forms of Cyrillic require additional letters.[27]

Compare with row 7 of JIS X 0208, which this row matches, and with row 12 of KS X 1001 and row 5 of KPS 9566, which use the same layout but in different rows.

GB 2312 (prefixed with 0x27/0xA7)
0 1 2 3 4 5 6 7 8 9 A B C D E F
2x/Ax А
0410
Б
0411
В
0412
Г
0413
Д
0414
Е
0415
Ё
0401
Ж
0416
З
0417
И
0418
Й
0419
К
041A
Л
041B
М
041C
Н
041D
3x/Bx О
041E
П
041F
Р
0420
С
0421
Т
0422
У
0423
Ф
0424
Х
0425
Ц
0426
Ч
0427
Ш
0428
Щ
0429
Ъ
042A
Ы
042B
Ь
042C
Э
042D
4x/Cx Ю
042E
Я
042F
5x/Dx а
0430
б
0431
в
0432
г
0433
д
0434
е
0435
ё
0451
ж
0436
з
0437
и
0438
й
0439
к
043A
л
043B
м
043C
н
043D
6x/Ex о
043E
п
043F
р
0440
с
0441
т
0442
у
0443
ф
0444
х
0445
ц
0446
ч
0447
ш
0448
щ
0449
ъ
044A
ы
044B
ь
044C
э
044D
7x/Fx ю
044E
я
044F

Character set 0x28/0xA8 (row 8: zhuyin and non-ASCII pinyin)[edit]

This row contains bopomofo and pinyin characters, excluding ASCII letters (which are in row 3). The highlighted characters are those which are not in the base GB 2312 set but are added by GB 6345.1,[19] and also included in GB/T 12345,[1][6] Windows code page 936,[22] Mac OS Simplified Chinese[19] and GB 18030.[20] They are seen as "standard extensions to GB 2312".[19]

GB 6345.1 treats the pinyin in this row as fullwidth, and includes halfwidth counterparts as row 11;[1] GB 18030 does not do this.

GB 2312 (prefixed with 0x28/0xA8)
0 1 2 3 4 5 6 7 8 9 A B C D E F
2x/Ax ā
0101
á
00E1
ǎ
01CE
à
00E0
ē
0113
é
00E9
ě
011B
è
00E8
ī
012B
í
00ED
ǐ
01D0
ì
00EC
ō
014D
ó
00F3
ǒ
01D2
3x/Bx ò
00F2
ū
016B
ú
00FA
ǔ
01D4
ù
00F9
ǖ
01D6
ǘ
01D8
ǚ
01DA
ǜ
01DC
ü
00FC
ê
00EA
ɑ
0251
ḿ[e]
1E3F
ń
0144
ň
0148
ǹ[f]
01F9
4x/Cx ɡ/[g]
3105

3106

3107

3108

3109

310A

310B

310C

310D

310E

310F
5x/Dx
3110

3111

3112

3113

3114

3115

3116

3117

3118

3119

311A

311B

311C

311D

311E

311F
6x/Ex
3120

3121

3122

3123

3124

3125

3126

3127

3128

3129
7x/Fx

Character set 0x29/0xA9 (row 9: box drawing)[edit]

GB 2312 (prefixed with 0x29/0xA9)
0 1 2 3 4 5 6 7 8 9 A B C D E F
2x/Ax
2500

2501

2502

2503

2504

2505

2506

2507

2508

2509

250A

250B
3x/Bx
250C

250D

250E

250F

2510

2511

2512

2513

2514

2515

2516

2517

2518

2519

251A

251B
4x/Cx
251C

251D

251E

251F

2520

2521

2522

2523

2524

2525

2526

2527

2528

2529

252A

252B
5x/Dx
252C

252D

252E

252F

2530

2531

2532

2533

2534

2535

2536

2537

2538

2539

253A

253B
6x/Ex
253C

253D

253E

253F

2540

2541

2542

2543

2544

2545

2546

2547

2548

2549

254A

254B
7x/Fx

Hanzi rows[edit]

Corrections[edit]

GB 5007.1-85 24x24 Bitmap Font Set of Chinese Characters for Information Exchange (Chinese: 信息交换用汉字 24x24 点阵字模集) is the earliest font template based on GB/T 2312 that features corrections and extensions including:

  • changing the glyph shape of Latin alphabet "g"
  • adding 6 Hanyu Pinyin characters: ɑ, ḿ, ń, ň, ǹ, ɡ[note 1]
  • changed "" to ""
  • included 94 half-width glyphs in row 10 (half-width form of row 3, equivalent to GB 1988–80
  • included half-width form of 32 Hanyu Pinyin characters from row 8 in row 11.

GB/T 2312 did not have corrections, but these corrections are included in font templates that are based on GB/T 2312 including GB/T 12345; its supersets GBK and GB 18030 also included these corrections. GB/T 2312 is also used in ISO-IR-165.

See also[edit]

References[edit]

  1. ^ a b c d e Lunde, Ken (2009). CJKV Information Processing: Chinese, Japanese, Korean & Vietnamese Computing (2nd ed.). Sebastopol, CA: O'Reilly. pp. 94–111. ISBN 978-0-596-51447-1.
  2. ^ "2017年第7号中国国家标准公告 (China National Standard Bulletin 2017 No.7)". Standardization Administration of the People's Republic of China. Retrieved 3 July 2018.
  3. ^ "Distribution of Character Encodings among websites that use China and territories". w3techs.com. Retrieved 2022-09-04.
  4. ^ "Historical trends in the usage statistics of character encodings for websites, October 2022". w3techs.com. Retrieved 2022-10-01.
  5. ^ "Encoding: Summarized test results". www.w3.org. Retrieved 2019-11-15.
  6. ^ a b c d Lunde, Ken (1998). Appendix F: GB/T 12345 (PDF). O'Reilly Media. ISBN 9781565922242. {{cite book}}: |work= ignored (help)
  7. ^ GB12345-80 to Unicode table. Unicode Consortium. 1993-12-06. Archived from the original on 2004-06-17.
  8. ^ Hannas, William C. (1997). Asia's Orthographic Dilemma. University of Hawai‘i Press. p. 264. ISBN 9780824818920. the set provides for better than 99.99 percent of all usage. Nevertheless, the designers found it necessary to add 14,276 "special usage" characters to cover contingencies!
  9. ^ "GB 2312-1980: Information technology—Chinese ideogram coded character set for information interchange (Basic set)". May 1981.
  10. ^ "Unicode to GB2312 or GBK table". cs.nyu.edu. Archived from the original on 3 March 2016. Retrieved 11 January 2022.
  11. ^ a b Lunde, Ken Roger (December 2008). CJKV Information Processing (2nd ed.). O'Reilly. ISBN 978-0-596-51447-1.
  12. ^ "GB 2312-1980: Information technology—Chinese ideogram coded character set for information interchange (basic set)". May 1981. Retrieved 2 October 2016.
  13. ^ a b Haible, Bruno. "GB2312 (Conversion Tables)". Retrieved 29 September 2016.
  14. ^ "Readme – MAPPINGS/OBSOLETE/EASTASIA". 9 August 2001. Retrieved 29 September 2016.
  15. ^ "java-EUC_CN-1.3_P.ucm". Retrieved 29 September 2016.[permanent dead link]
  16. ^ "libiconv:lib/gb2312.h". GNU Savannah. Retrieved 29 September 2016.
  17. ^ "Issue 24036". Python Bug Tracker.
  18. ^ "Encoding § Names and labels". W3C. Retrieved 29 September 2016.
  19. ^ a b c d e f g h i j "Map (external version) from Mac OS Chinese Simplified encoding to Unicode 3.0 and later". Apple, Inc.
  20. ^ a b c d e f g h i j Standardization Administration of China (SAC) (2005-11-18). GB 18030-2005: Information Technology—Chinese coded character set.
  21. ^ China Association for Standardization. Chinese Coded Graphic Character Set for Information Interchange (PDF). ITSCJ/IPSJ. ISO-IR-58.
  22. ^ a b c d e f Microsoft. "CODEPAGE 936: PRC GBK (XGB) - ANSI, OEM". Unicode Consortium.
  23. ^ a b Viswanadha, Raghuram (2000-08-30). "Unicode to ISO-IR-165 table". International Components for Unicode. IBM.
  24. ^ Lunde, Ken (2009). "Seemingly Missing Characters". CJKV Information Processing: Chinese, Japanese, Korean & Vietnamese Computing (2nd ed.). Sebastopol, CA: O'Reilly. p. 180. ISBN 978-0-596-51447-1.
  25. ^ a b CCITT (1992-07-13). Codes of the Chinese graphic character set for communication (PDF). ITSCJ/IPSJ. ISO-IR-165.
  26. ^ Lunde, Dr Ken (4 August 2022). "The GB 18030-2022 Standard". Medium. Retrieved 7 August 2022.
  27. ^ Czyborra, Roman (1998-11-30) [1998-05-25]. "The Cyrillic Charset Soup". Archived from the original on 2016-12-03. Retrieved 2016-12-03.
  28. ^ "Unicode Character Encoding Stability Policies". Unicode Consortium. 2017-06-23.

Notes[edit]

  1. ^ Only for ideographs covered by GB/T 2312, all of which fall into Unicode BMP
  2. ^ a b As an ISO 2022 compatible 94n-character set, the plain space and delete character are available as single-byte codes at 0x20 and 0x7F (not 0xA0 and 0xFF) respectively.
  3. ^ Used for U+FF47 by most implementations based on GB 6345.1, including Apple's implementation and GB 18030 (which use 8-32 for U+0261),[20] but for U+0261 by ISO-IR-165.[23]
  4. ^ a b c d e f g h i j These characters are from the Vertical Forms block. Some mappings in use were designed when the only vertical presentation forms which existed in Unicode were those in the CJK Compatibility Forms block. Specifically, they are mapped by Windows-936 and formerly GB 18030 to the Private Use Area, but with a defined glyph,[22][20] and by Apple to the regular fullwidth character with an appended private use character U+F87E as a variation marker.[19] In the GB 18030-2022 update, these Private Use Area mappings has been eliminated and now mapped to their standard Unicode codepoints.[26]
  5. ^ Mapped to the Private Use Area U+E7C7 by the first (2000) edition of GB 18030, and also by Windows-936;[22] this was amended by the 2005 edition of GB 18030.[20]
  6. ^ This composed character was added in Unicode 3.0. Prior to this, this character was mapped to its composition sequence (i.e. U+006E+0300) by Apple.[19] This change predates the stabilisation of Unicode normalisation forms, which was introduced in Unicode 3.1.[28] It is mapped to the Private Use Area U+E7C8 by Windows-936.[22]
  7. ^ Mapped to U+0261 in GB 18030[20] and most other implementations based on GB 6345.1[19] (which use 3-71 for U+FF47), but to U+FF47 in ISO-IR-165.[23][25]
  1. ^ ɑ (U+0251)
    ḿ (U+1E3F; Submitted in Unicode 3.0, thus CP936 did not include this character [1][permanent dead link])
    ń (U+0144)
    ň (U+0148)
    ǹ (U+01F9; Submitted in Unicode 3.0, thus CP936 did not include this character [2][permanent dead link])
    ɡ (U+0261)

Further reading[edit]

External links[edit]