用delphi生成GBK 中文编码 表(4~5) GBK/4~5: 0xAA40~0xFEA0(部分) 扩充汉字 包括繁体 0xA
2011-09-30 02:49
459 查看
http://www.cnblogs.com/jfyes/archive/2009/09/24/1573638.html
GBK 中文编码: (* GBK是GB2312的扩展,是向上兼容的,因此GB2312中的汉字的编码与GBK中汉字的相同。
GBK中每个汉字仍然包含两个字节, 第一个字节的范围是0x81-0xFE(即129-254),第二个字节的范围是0x40-0xFE
(即64-254)。GBK中有码位23940个, 包含汉字21003个。
--------------------------------------
GBK/1: 0xA1A0~0xA9EF(部分) GB2312非汉字符号
GBK/2: 0xB0A0~0xF7FE(部分) GB2312汉字
上面两个是GB2312的扩展,是向上兼容的;
--------------------------------------------------------------
GBK/3: 0x8140~0xA0FE(部分) 扩充汉字 包括繁体 ---->上一篇博客已发表
GBK/4: 0xAA40~0xFEA0(部分) 扩充汉字 包括繁体
GBK/5: 0xA840~0xA995(部分) 扩充非汉字
procedure Tfm_Words.Button5Click(Sender: TObject);
var
A, B: Cardinal;
I, J: Integer;
sHex: string;
s1: WideString;
ss: string;
begin
//GBK/5: 0xA840~0xA995(部分) 扩充非汉字
ss := #13#10+
' GBK/5: $A840~$A996(部分) 扩充非汉字 '#13#10+
' jfyes 2008-07-07'#13#10#13#10;
for I:= $A8 to $A9 do
begin
for J := $40 to $96 do
begin
sHex := Format('$%.2x%.2x', [I, J]);
A := SysUtils.StrToIntDef(sHex, 0);
if J = $40 then
ss := ss+ 'code +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F ';
if J in [$40, $50,$60, $70, $80,$90, $A0, $B0, $C0, $D0, $E0, $F0] then
ss := ss + #13#10 + sHex+ #32;
if J <> $7F then
ss := ss + Char(I) + Char(J) + #32
else ss := ss + #32#32#32
end;
ss := ss + #13#10#13#10;
end;
self.memo1.lines.add(ss, True);
end;
执行结果如下:
------------------------------------------------------------------------------
GBK/5: $A840~$A996(部分) 扩充非汉字
code +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
$A840 ˊ ˋ ˙ – ― ‥ ‵ ℅ ℉ ↖ ↗ ↘ ↙ ∕ ∟ ∣
$A850 ≒ ≦ ≧ ⊿ ═ ║ ╒ ╓ ╔ ╕ ╖ ╗ ╘ ╙ ╚ ╛
$A860 ╜ ╝ ╞ ╟ ╠ ╡ ╢ ╣ ╤ ╥ ╦ ╧ ╨ ╩ ╪ ╫
$A870 ╬ ╭ ╮ ╯ ╰ ╱ ╲ ╳ ▁ ▂ ▃ ▄ ▅ ▆ ▇
$A880 █ ▉ ▊ ▋ ▌ ▍ ▎ ▏ ▓ ▔ ▕ ▼ ▽ ◢ ◣ ◤
$A890 ◥ ☉ ⊕ 〒 〝 〞
code +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
$A940 〡 〢 〣 〤 〥 〦 〧 〨 〩 ㊣ ㎎ ㎏ ㎜ ㎝ ㎞ ㎡
$A950 ㏄ ㏎ ㏑ ㏒ ㏕ ︰ ¬ ¦ ℡ ㈱ ‐
$A960 ー ゛ ゜ ヽ ヾ 〆 ゝ ゞ ﹉ ﹊ ﹋ ﹌ ﹍ ﹎ ﹏ ﹐
$A970 ﹑ ﹒ ﹔ ﹕ ﹖ ﹗ ﹙ ﹚ ﹛ ﹜ ﹝ ﹞ ﹟ ﹠ ﹡
$A980 ﹢ ﹣ ﹤ ﹥ ﹦ ﹨ ﹩ ﹪ ﹫
$A990 〇
procedure Tfm_Words.Button4Click(Sender: TObject);
var
A, B: Cardinal;
I, J: Integer;
sHex: string;
s1: WideString;
ss: string;
begin //GBK/4: 0xAA40~0xFEA0(部分) 扩充汉字 包括繁体
ss := #13#10+
' GBK/4: $AA40~$FEA0(部分) 扩充汉字全表 '#13#10+
' jfyes 2008-07-07'#13#10#13#10;
for I:= $AA to $FE do
begin
for J := $40 to $A0 do
begin
sHex := Format('$%.2x%.2x', [I, J]);
A := SysUtils.StrToIntDef(sHex, 0);
if J = $40 then
ss := ss+ 'code +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F ';
if J in [$40, $50,$60, $70, $80,$90, $A0, $B0, $C0, $D0, $E0, $F0] then
ss := ss + #13#10 + sHex+ #32;
if J <> $7F then
ss := ss + Char(I) + Char(J) + #32
else ss := ss + #32#32#32
end;
ss := ss + #13#10#13#10;
end;
self.memo1.lines.add(ss, True);
end;
执行结果如下:
------------------------------------------------------------
GBK/4: $AA40~$FEA0(部分) 扩充汉字全表
GBK 中文编码: (* GBK是GB2312的扩展,是向上兼容的,因此GB2312中的汉字的编码与GBK中汉字的相同。
GBK中每个汉字仍然包含两个字节, 第一个字节的范围是0x81-0xFE(即129-254),第二个字节的范围是0x40-0xFE
(即64-254)。GBK中有码位23940个, 包含汉字21003个。
--------------------------------------
GBK/1: 0xA1A0~0xA9EF(部分) GB2312非汉字符号
GBK/2: 0xB0A0~0xF7FE(部分) GB2312汉字
上面两个是GB2312的扩展,是向上兼容的;
--------------------------------------------------------------
GBK/3: 0x8140~0xA0FE(部分) 扩充汉字 包括繁体 ---->上一篇博客已发表
GBK/4: 0xAA40~0xFEA0(部分) 扩充汉字 包括繁体
GBK/5: 0xA840~0xA995(部分) 扩充非汉字
procedure Tfm_Words.Button5Click(Sender: TObject);
var
A, B: Cardinal;
I, J: Integer;
sHex: string;
s1: WideString;
ss: string;
begin
//GBK/5: 0xA840~0xA995(部分) 扩充非汉字
ss := #13#10+
' GBK/5: $A840~$A996(部分) 扩充非汉字 '#13#10+
' jfyes 2008-07-07'#13#10#13#10;
for I:= $A8 to $A9 do
begin
for J := $40 to $96 do
begin
sHex := Format('$%.2x%.2x', [I, J]);
A := SysUtils.StrToIntDef(sHex, 0);
if J = $40 then
ss := ss+ 'code +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F ';
if J in [$40, $50,$60, $70, $80,$90, $A0, $B0, $C0, $D0, $E0, $F0] then
ss := ss + #13#10 + sHex+ #32;
if J <> $7F then
ss := ss + Char(I) + Char(J) + #32
else ss := ss + #32#32#32
end;
ss := ss + #13#10#13#10;
end;
self.memo1.lines.add(ss, True);
end;
执行结果如下:
------------------------------------------------------------------------------
GBK/5: $A840~$A996(部分) 扩充非汉字
code +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
$A840 ˊ ˋ ˙ – ― ‥ ‵ ℅ ℉ ↖ ↗ ↘ ↙ ∕ ∟ ∣
$A850 ≒ ≦ ≧ ⊿ ═ ║ ╒ ╓ ╔ ╕ ╖ ╗ ╘ ╙ ╚ ╛
$A860 ╜ ╝ ╞ ╟ ╠ ╡ ╢ ╣ ╤ ╥ ╦ ╧ ╨ ╩ ╪ ╫
$A870 ╬ ╭ ╮ ╯ ╰ ╱ ╲ ╳ ▁ ▂ ▃ ▄ ▅ ▆ ▇
$A880 █ ▉ ▊ ▋ ▌ ▍ ▎ ▏ ▓ ▔ ▕ ▼ ▽ ◢ ◣ ◤
$A890 ◥ ☉ ⊕ 〒 〝 〞
code +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
$A940 〡 〢 〣 〤 〥 〦 〧 〨 〩 ㊣ ㎎ ㎏ ㎜ ㎝ ㎞ ㎡
$A950 ㏄ ㏎ ㏑ ㏒ ㏕ ︰ ¬ ¦ ℡ ㈱ ‐
$A960 ー ゛ ゜ ヽ ヾ 〆 ゝ ゞ ﹉ ﹊ ﹋ ﹌ ﹍ ﹎ ﹏ ﹐
$A970 ﹑ ﹒ ﹔ ﹕ ﹖ ﹗ ﹙ ﹚ ﹛ ﹜ ﹝ ﹞ ﹟ ﹠ ﹡
$A980 ﹢ ﹣ ﹤ ﹥ ﹦ ﹨ ﹩ ﹪ ﹫
$A990 〇
procedure Tfm_Words.Button4Click(Sender: TObject);
var
A, B: Cardinal;
I, J: Integer;
sHex: string;
s1: WideString;
ss: string;
begin //GBK/4: 0xAA40~0xFEA0(部分) 扩充汉字 包括繁体
ss := #13#10+
' GBK/4: $AA40~$FEA0(部分) 扩充汉字全表 '#13#10+
' jfyes 2008-07-07'#13#10#13#10;
for I:= $AA to $FE do
begin
for J := $40 to $A0 do
begin
sHex := Format('$%.2x%.2x', [I, J]);
A := SysUtils.StrToIntDef(sHex, 0);
if J = $40 then
ss := ss+ 'code +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F ';
if J in [$40, $50,$60, $70, $80,$90, $A0, $B0, $C0, $D0, $E0, $F0] then
ss := ss + #13#10 + sHex+ #32;
if J <> $7F then
ss := ss + Char(I) + Char(J) + #32
else ss := ss + #32#32#32
end;
ss := ss + #13#10#13#10;
end;
self.memo1.lines.add(ss, True);
end;
执行结果如下:
------------------------------------------------------------
GBK/4: $AA40~$FEA0(部分) 扩充汉字全表
相关文章推荐
- 用delphi生成GBK 中文编码 表(4~5) GBK/4~5: 0xAA40~0xFEA0(部分) 扩充汉字 包括繁体 0xA
- 输入法项目->用delphi生成GBK 中文编码 表(4~5) GBK/4~5: 0xAA40~0xFEA0(部分) 扩充汉字 包括繁体 0xA840~0xA995(部分) 扩充非汉字
- 输入法项目->用delphi生成GBK 中文编码 GBK 扩充汉字编码表(3) GBK/3: $8140 —$A0FE(部分)
- 中文乱码问题 ? 原因:JSP中默认使用iso-8859-1字符编码方式,不支持中文 ? 常见的支持中文的编码方式:gb2312(常用简体汉字)、gbk(简体和繁体汉字)、utf-8 ? 解决中文乱码
- uiautomator在UTF-8的编码方式下如何匹配英文和中文包括汉字
- 通过GBK编码提取中文汉字的拼音首字母
- Java中获取GBK编码汉字的拼音首字母(包括生僻字)
- 生成六位随机图片验证码(包括数字 大小写字母 部分汉字)
- 汉字编码(【Unicode】 【UTF-8】 【Unicode与UTF-8之间的转换】 【汉字 Unicode 编码范围】【中文标点Unicode码】【GBK编码】【批量获取汉字UNICODE码】)
- 对GBK的理解(内附全部字符编码列表):扩充的2万汉字低字节的高位不等于1,而且还剩许多编码空间没有利用
- sublime text 2中添加gb18030编码的支持(解决安装gbk编码支持后部分中文文件依然乱码的问题)
- python生成中文编码只有GB18030是通用的,gbk不行
- 这里讲一下编码,涵盖内容包括:gbk、utf8编码,汉字,数据库,为什么会出现乱码
- C#中生成中文繁体web页面(源码)
- java web,charset编码设置正确情况下出现部分中文正常,部分中文乱码的问题
- 用C#生成随机中文汉字验证码的基本原理
- decodeURI解码,由URIEncoder.encode("","GBK")编码的中文,问题解决
- 命令行编译java源文件提示 “编码GBK的不可映射字符” 及输出的中文变为乱码的解决方法
- C#生成随机的中文汉字的原理
- 转:eclipse生成javadoc时出错:编码GBK的不可映射字符