查表法。
对GB2312
A - $B0A1 ~ $B0C4
B - $B0C5 ~ $B2C0
C - $B2C1 ~ $B4ED
...偶今天就不帮你整理了,给你程序生成码表自己整理吧,30分钟应该可以了。
Var
i, j: byte;
mFile: textfile;
begin
AssignFile(mFile, 'GBKCode.txt');
Rewrite(mFile);
{
GBK字符集范围
分区 高位 低位
----------------------------------------------
●GBK/1:GB2312非汉字符号: A1~A9 || A1~FE
●GBK/2:GB2312汉字 : B0~F7 || A1~FE
●GBK/3:扩充汉字 : 81~A0 || 40~FE
●GBK/4:扩充汉字 : AA~FE || 40~A0
●GBK/5:扩充非汉字 : A8~A9 || 40~A0
}
for i := $A1 to $A9 do
for j := $A1 to $FE do
Write(mFile, chr(i), chr(j));
for i := $B0 to $F7 do
for j := $A1 to $FE do
Write(mFile, chr(i), chr(j));
for i := $81 to $A0 do
for j := $40 to $FE do
Write(mFile, chr(i), chr(j));
for i := $AA to $FE do
for j := $40 to $A0 do
Write(mFile, chr(i), chr(j));
for i := $A8 to $A9 do
for j := $40 to $A0 do
Write(mFile, chr(i), chr(j));