GB2312 字符集.docx

上传人:b****6 文档编号:4057052 上传时间:2022-11-27 格式:DOCX 页数:31 大小:39.93KB
下载 相关 举报
GB2312 字符集.docx_第1页
第1页 / 共31页
GB2312 字符集.docx_第2页
第2页 / 共31页
GB2312 字符集.docx_第3页
第3页 / 共31页
GB2312 字符集.docx_第4页
第4页 / 共31页
GB2312 字符集.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

GB2312 字符集.docx

《GB2312 字符集.docx》由会员分享,可在线阅读,更多相关《GB2312 字符集.docx(31页珍藏版)》请在冰豆网上搜索。

GB2312 字符集.docx

GB2312字符集

序言

这本手册用表格列出了GB2312汉字国家标准字符集的全部字符和编码,以及每个字符所对应的Unicode编码。

同时也列出了从Unicode到GB2312转换表。

这些表格的程式制作也收录在这本手册中。

修改记录:

∙第3.05版,二○○四年,局部修改。

∙第3.00版,二○○三年,整理成打印版。

∙第2.00版,一九九九年,整理成网页。

∙第1.00版,一九九七年,初稿完成。

阅读记录:

∙到2006年为止,本书已被阅读72,409次。

∙到2004年为止,本书已被阅读4,721次。

版权声明:

∙版权所有1997-2007杨和荣。

∙允许转载和使用,但必须保留版权声明

 

GB2312字符集和编码说明

GB2312字符集

GB2312是汉字字符集和编码的代号,中文全称为“信息交换用汉字编码字符集”,由中华人民共和国国家标准总局发布,一九八一年五月一日实施。

GB是“国标”二字的汉语拼音缩写。

GB2312字符集(characterset)只收录简化字汉字,以及一般常用字母和符号,主要通行于中国大陆地区和新加坡等地。

GB2312共收录有7445个字符,其中简化汉字6763个,字母和符号682个。

GB2312将所收录的字符分为94个区,编号为01区至94区;每个区收录94个字符,编号为01位至94位。

GB2312的每一个字符都由与其唯一对应的区号和位号所确定。

例如:

汉字“啊”,编号为16区01位。

GB2312字符集的区位分布表:

区号字数字符类别

0194一般符号

0272顺序号码

0394拉丁字母

0483日文假名

0586Katakana

0648希腊字母

0766俄文字母

0863汉语拼音符号

0976图形符号

10-15备用区

16-553755一级汉字,以拼音为序

56-873008二级汉字,以笔划为序

88-94备用区

这本手册列出了GB2312的全部字符和它们的区位号。

GB2312编码

GB2312原始编码(encoding)是对所收录的每个字符都用两个字节(byte)表示。

第一字节为“高字节”,由字符的区号值加上32而形成;第二字节为“低字节”,由字符的位号值加上32而形成。

例如:

汉字“啊”,编号为16区01位。

它的高字节为16+32=48(0x30),低字节为01+32=33(0x21),合并而成的编码为0x3021。

在区位号值上加32的原因大慨是为了避开低值字节区间。

由于GB2312原始编码与ASCII编码的字节有重叠,现在通行的GB2312编码是在原始编码的两个字节上各加128修改而形成。

例如:

汉字“啊”,编号为16区01位。

它的原始编码为0x3021,通行编码为0xB0A1。

如果不另加说明,GB2312常指这种修改过的编码。

这本手册列出了GB2312的全部字符和它们的编码。

GB2312与Unicode的关系

GB2312字符集是Unicode字符集的一个子集。

这也就是说,GB2312所收录的每一个字符都收录在Unicode之中。

但是GB2312编码和Unicode编码确没有什么相同之处。

同一个汉字,它的GB2312编码和Unicode编码确毫不相同。

例如:

汉字“啊”,它的GB2312编码为0xB0A1,但是它的Unicode编码为0x554A。

这本手册为GB2312的每一个字符列出了它所对应的Unicode编码和UTF-8(UnicodeTransformationFormat-8-bit)编码。

从GB2312到Unicode转换表制作程式

这本手册里的字符与汉字编码列表由下面的程式所生成。

/**

*GB2312Unicde.java

*Copyright(c)1997-2003byDr.HerongYang

*/

importjava.io.*;

importjava.nio.*;

importjava.nio.charset.*;

classGB2312Unicde{

staticOutputStreamout=null;

staticcharhexDigit[]={'0','1','2','3','4','5','6','7',

'8','9','A','B','C','D','E','F'};

staticintb_out[]={201,267,279,293,484,587,625,657,734,782,827,

874,901,980,5590};

staticinte_out[]={216,268,280,294,494,594,632,694,748,794,836,

894,903,994,5594};

publicstaticvoidmain(String[]args){

try{

out=newFileOutputStream("gb2312.gb");

writeCode();

out.close();

}catch(IOExceptione){

System.out.println(e.toString());

}

}

publicstaticvoidwriteCode()throwsIOException{

booleanreserved=false;

Stringname=null;

//GB2312isnotsupportedbyJDK.SoIamusingGBK.

CharsetDecodergbdc=Charset.forName("GBK").newDecoder();

CharsetEncoderuxec=Charset.forName("UTF-16BE").newEncoder();

CharsetEncoderu8ec=Charset.forName("UTF-8").newEncoder();

ByteBuffergbbb=null;

ByteBufferuxbb=null;

ByteBufferu8bb=null;

CharBuffercb=null;

intcount=0;

for(inti=1;i<=94;i++){

//Definingrowsettings

if(i>=1&&i<=9){

reserved=false;

name="Graphicsymbols";

}elseif(i>=10&&i<=15){

reserved=true;

name="Reserved";

}elseif(i>=16&&i<=55){

reserved=false;

name="Level1characters";

}elseif(i>=56&&i<=87){

reserved=false;

name="Level2characters";

}elseif(i>=88&&i<=94){

reserved=true;

name="Reserved";

}

//writingrowtitle

writeln();

writeString("

");

writeNumber(i);

writeString("Row:

"+name);

writeln();

writeString("

");

writeln();

if(!

reserved){

writeln();

writeHeader();

//loopingthroughallcharactersinonerow

for(intj=1;j<=94;j++){

bytehi=(byte)(0xA0+i);

bytelo=(byte)(0xA0+j);

if(validGB(i,j)){

//gettingGB,UTF-16BE,UTF-8codes

gbbb=ByteBuffer.wrap(newbyte[]{hi,lo});

try{

cb=gbdc.decode(gbbb);

uxbb=uxec.encode(cb);

cb.rewind();

u8bb=u8ec.encode(cb);

}catch(CharacterCodingExceptione){

cb=null;

uxbb=null;

u8bb=null;

}

}else{

cb=null;

uxbb=null;

u8bb=null;

}

writeNumber(i);

writeNumber(j);

writeString("");

if(cb!

=null){

writeByte(hi);

writeByte(lo);

writeString("");

writeHex(hi);

writeHex(lo);

count++;

}else{

writeGBSpace();

writeString("null");

}

writeString("");

writeByteBuffer(uxbb,2);

writeString("");

writeByteBuffer(u8bb,3);

if(j%2==0){

writeln();

}else{

writeString("");

}

}

writeFooter();

}

}

System.out.println("NumberofGBcharactersworte:

"+count);

}

publicstaticvoidwriteln()throwsIOException{

out.write(0x0D);

out.write(0x0A);

}

publicstaticvoidwriteByte(byteb)throwsIOException{

out.write(b&0xFF);

}

publicstaticvoidwriteByteBuffer(ByteBufferb,intl)

throwsIOException{

inti=0;

if(b==null){

writeString("null");

i=2;

}else{

for(i=0;i

}

for(intj=i;j

}

publicstaticvoidwriteGBSpace()throwsIOException{

out.write(0xA1);

out.write(0xA1);

}

publicstaticvoidwriteString(Strings)throwsIOException{

if(s!

=null){

for(inti=0;i

out.write((int)(s.charAt(i)&0xFF));

}

}

}

publicstaticvoidwriteNumber(inti)throwsIOException{

Strings="00"+String.valueOf(i);

writeString(s.substring(s.length()-2,s.length()));

}

publicstaticvoidwriteHex(byteb)throwsIOException{

out.write((int)hexDigit[(b>>4)&0x0F]);

out.write((int)hexDigit[b&0x0F]);

}

publicstaticvoidwriteHeader()throwsIOException{

writeString("

");

writeln();

writeString("Q.W.");

writeGBSpace();

writeString("GBUni.UTF-8");

writeString("");

writeString("Q.W.");

writeGBSpace();

writeString("GBUni.UTF-8");

writeln();

writeln();

}

publicstaticvoidwriteFooter()throwsIOException{

writeString("

");

writeln();

}

publicstaticbooleanvalidGB(inti,intj){

for(intl=0;l

if(i*100+j>=b_out[l]&&i*100+j<=e_out[l])returnfalse;

}

returntrue;

}

}

GB2312(SimplifiedChinese)charactercodetable

code+0+1+2+3+4+5+6+7+8+9+A+B+C+D+E+F

A1A0 、。

·ˉˇ¨〃々—~‖…‘’

A1B0“”〔〕〈〉《》「」『』〖〗【】

A1C0±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠

A1D0⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵

A1E0∴♂♀°′″℃$¤¢£‰§№☆★

A1F0○●◎◇◆□■△▲※→←↑↓〓

code+0+1+2+3+4+5+6+7+8+9+A+B+C+D+E+F

A2A0ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ

A2B0⒈⒉⒊⒋⒌⒍⒎⒏⒐⒑⒒⒓⒔⒕⒖

A2C0⒗⒘⒙⒚⒛⑴⑵⑶⑷⑸⑹⑺⑻⑼⑽⑾

A2D0⑿⒀⒁⒂⒃⒄⒅⒆⒇①②③④⑤⑥⑦

A2E0⑧⑨⑩€㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩

A2F0ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ

code+0+1+2+3+4+5+6+7+8+9+A+B+C+D+E+F

A3A0!

"#¥%&'()*+,-./

A3B00123456789:

;<=>?

A3C0@ABCDEFGHIJKLMNO

A3D0PQRSTUVWXYZ[\]^_

A3E0`abcdefghijklmno

A3F0pqrstuvwxyz{|} ̄

code+0+1+2+3+4+5+6+7+8+9+A+B+C+D+E+F

A4A0ぁあぃいぅうぇえぉおかがきぎく

A4B0ぐけげこごさざしじすずせぜそぞた

A4C0だちぢっつづてでとどなにぬねのは

A4D0ばぱひびぴふぶぷへべぺほぼぽまみ

A4E0むめもゃやゅゆょよらりるれろゎわ

A4F0ゐゑをん

code+0+1+2+3+4+5+6+7+8+9+A+B+C+D+E+F

A5A0ァアィイゥウェエォオカガキギク

A5B0グケゲコゴサザシジスズセゼソゾタ

A5C0ダチヂッツヅテデトドナニヌネノハ

A5D0バパヒビピフブプヘベペホボポマミ

A5E0ムメモャヤュユョヨラリルレロヮワ

A5F0ヰヱヲンヴヵヶ

code+0+1+2+3+4+5+6+7+8+9+A+B+C+D+E+F

A6A0ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟ

A6B0ΠΡΣΤΥΦΧΨΩ

A6C0αβγδεζηθικλμνξο

A6D0πρστυφχψω

A6E0︵︶︹︺︿﹀︽︾﹁﹂﹃﹄︻︼

A6F0︷︸︱︳︴

code+0+1+2+3+4+5+6+7+8+9+A+B+C+D+E+F

A7A0АБВГДЕЁЖЗИЙКЛМН

A7B0ОПРСТУФХЦЧШЩЪЫЬЭ

A7C0ЮЯ

A7D0абвгдеёжзийклмн

A7E0опрстуфхцчшщъыьэ

A7F0юя

code+0+1+2+3+4+5+6+7+8+9+A+B+C+D+E+F

A8A0āáǎàēéěèīíǐìōóǒ

A8B0òūúǔùǖǘǚǜüêɑńňǹ

A8C0ɡㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏ

A8D0ㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄚㄛㄜㄝㄞㄟ

A8E0ㄠㄡㄢㄣㄤㄥㄦㄧㄨㄩ

A8F0

code+0+1+2+3+4+5+6+7+8+9+A+B+C+D+E+F

A9A0─━│┃┄┅┆┇┈┉┊┋

A9B0┌┍┎┏┐┑┒┓└┕┖┗┘┙┚┛

A9C0├┝┞┟┠┡┢┣┤┥┦┧┨┩┪┫

A9D0┬┭┮┯┰┱┲┳┴┵┶┷┸┹┺┻

A9E0┼┽┾┿╀╁╂╃╄╅╆╇╈╉╊╋

A9F0

code+0+1+2+3+4+5+6+7+8+9+A+B+C+D+E+F

AAA0

AAB0

AAC0

AAD0

AAE0

AAF0

code+0+1+2+3+4+5+6+7+8+9+A+B+C+D+E+F

ABA0

ABB0

ABC0

ABD0

ABE0

ABF0

code+0+1+2+3+4+5+6+7+8+9+A+B+C+D+E+F

ACA0

ACB0

ACC0

ACD0

ACE0

ACF0

code+0+1+2+3+4+5+6+7+8+9+A+B+C+D+E+F

ADA0

ADB0

ADC0

ADD0

ADE0

ADF0

code+0+1+2+3+4+5+6+7+8+9+A+B+C+D+E+F

AEA0

AEB0

AEC0

AED0

AEE0

AEF0

code+0+1+2+3+4+5+6+7+8+9+A+B+C+D+E+F

AFA0

AFB0

AFC0

AFD0

AFE0

AFF0

code+0+1+2+3+4+5+6+7+8+9+A+B+C+D+E+F

B0A0啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘

B0B0鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱

B0C0袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋

B0D0靶把耙坝霸罢爸白柏百摆佰败拜稗斑

B0E0班搬扳般颁板版扮拌伴瓣半办绊邦帮

B0F0梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥

code+0+1+2+3+4+5+6+7+8+9+A+B+C+D+E+F

B1A0薄雹保堡饱宝抱报暴豹鲍爆杯碑悲

B1B0卑北辈背贝钡倍狈备惫焙被奔苯本笨

B1C0崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕

B1D0毙毖币庇痹闭敝弊必辟壁臂避陛鞭边

B1E0编贬扁便变卞辨辩辫遍标彪膘表鳖憋

B1F0别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳

code+0+1+2+3+4+5+6+7+8+9+A+B+C+D+E+F

B2A0病并玻菠播拨钵波博勃搏铂箔伯帛

B2B0舶脖膊渤泊驳捕卜哺补埠不布步簿部

B2C0怖擦猜裁材才财睬踩采彩菜蔡餐参蚕

B2D0残惭惨灿苍舱仓沧藏操糙槽曹草厕策

B2E0侧册测层蹭插叉茬茶查碴搽察岔差诧

B2F0拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖

code+0+1+2+3+4+5+6+7+8+9+A+B+C+D+E+F

B3A0场尝常长

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 政史地

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1