gb2312.js
2.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
var consts = require('../constants');
var GB2312_cls = [
1,1,1,1,1,1,1,1, // 00 - 07
1,1,1,1,1,1,0,0, // 08 - 0f
1,1,1,1,1,1,1,1, // 10 - 17
1,1,1,0,1,1,1,1, // 18 - 1f
1,1,1,1,1,1,1,1, // 20 - 27
1,1,1,1,1,1,1,1, // 28 - 2f
3,3,3,3,3,3,3,3, // 30 - 37
3,3,1,1,1,1,1,1, // 38 - 3f
2,2,2,2,2,2,2,2, // 40 - 47
2,2,2,2,2,2,2,2, // 48 - 4f
2,2,2,2,2,2,2,2, // 50 - 57
2,2,2,2,2,2,2,2, // 58 - 5f
2,2,2,2,2,2,2,2, // 60 - 67
2,2,2,2,2,2,2,2, // 68 - 6f
2,2,2,2,2,2,2,2, // 70 - 77
2,2,2,2,2,2,2,4, // 78 - 7f
5,6,6,6,6,6,6,6, // 80 - 87
6,6,6,6,6,6,6,6, // 88 - 8f
6,6,6,6,6,6,6,6, // 90 - 97
6,6,6,6,6,6,6,6, // 98 - 9f
6,6,6,6,6,6,6,6, // a0 - a7
6,6,6,6,6,6,6,6, // a8 - af
6,6,6,6,6,6,6,6, // b0 - b7
6,6,6,6,6,6,6,6, // b8 - bf
6,6,6,6,6,6,6,6, // c0 - c7
6,6,6,6,6,6,6,6, // c8 - cf
6,6,6,6,6,6,6,6, // d0 - d7
6,6,6,6,6,6,6,6, // d8 - df
6,6,6,6,6,6,6,6, // e0 - e7
6,6,6,6,6,6,6,6, // e8 - ef
6,6,6,6,6,6,6,6, // f0 - f7
6,6,6,6,6,6,6,0 // f8 - ff
];
var GB2312_st = [
consts.error,consts.start,consts.start,consts.start,consts.start,consts.start, 3,consts.error, //00-07
consts.error,consts.error,consts.error,consts.error,consts.error,consts.error,consts.itsMe,consts.itsMe, //08-0f
consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe,consts.itsMe,consts.error,consts.error,consts.start, //10-17
4,consts.error,consts.start,consts.start,consts.error,consts.error,consts.error,consts.error, //18-1f
consts.error,consts.error, 5,consts.error,consts.error,consts.error,consts.itsMe,consts.error, //20-27
consts.error,consts.error,consts.start,consts.start,consts.start,consts.start,consts.start,consts.start //28-2f
];
// To be accurate, the length of class 6 can be either 2 or 4.
// But it is not necessary to discriminate between the two since
// it is used for frequency analysis only, and we are validing
// each code range there as well. So it is safe to set it to be
// 2 here.
var GB2312CharLenTable = [0, 1, 1, 1, 1, 1, 2];
module.exports = {
"classTable" : GB2312_cls,
"classFactor" : 7,
"stateTable" : GB2312_st,
"charLenTable" : GB2312CharLenTable,
"name" : "GB2312"
};