首页 > 学院 > 开发设计 > 正文

用JAVA转换简繁体的基础知识 (不用对照表,用算法实现)

2019-11-18 10:51:47
字体:
来源:转载
供稿:网友

  汉字编码标准与识别(一)  

代码页(Code Page)初识  


本节是根据以下文章编写出来的,建议认真研读这些专家的高论。  
参考1 <> 张 轴 材   
<<计算机世界>>周报 97-1-17  
参考2 <<张轴材 谈汉字交换码标准建立历程>> <<计算机世界>>周  
报记者 黄伟敏 肖春江 99-8-30  
参考3 <<中文平台把住“根”留住>> 吴健 <<中国计算机报>>  
出版日期:1998-12-21 总期号:348 本年期号:51  
参考4 <<为种种UNIX中文平台号脉>> 孙玉芳 <<中国计算机用户>>  
出版日期:1998-07-06 总期号:323 本年期号:26  
参考5 CJK.INF:FTP://ftp.ora.com/pub/examples/nutshell/ujip/  
doc/cjk.inf  

因为本人只是业余水平,不是专家,对于参考资料中许多术语还不  
理解,更没有见过任何一种标准的正式文本,错误和模糊之处再所  
难免。同时,因为国家有关部门对于宣传,推广和贯彻国家标准方  
面力度不够,致使象我这样的初学者或初涉该领域的小企业因信息  
资源不足而处于不利的竞争地位。  
ASCII制订的时候,并没有考虑对多语种,非凡是对象中国汉字这样  
的象形文字的支持。为此后来又提出了不少解决方案,其中代码页  
体系(ISO2022)是现在普遍实行的方案,而ISO10646/GB13000/Unicode  
是今后发展的方向。  
中国的汉字编码标准GB2312是7bits标准,具体说是双7位字节标准。  
而ASCII是单7位字节标准,计算机怎么区分呢?一种是在第八位置"1",  
提示计算机转入双字节编码,这是最常见的一种实现,也叫EUC  
(Extended Unix Code)编码.另一种是用非凡标记提示计算机转入双  
字节编码,如HZ编码就是用开始,用结束的块标识双字节编码区.它们  
都是GB2312的一种实现.对象中国汉字这样的象形文字体系,代码页  
是根据各个国家,地区或行业标准,按照EUC方式编码。代码页向下  
兼容ASCII,是一种不等长编码。会带来代码的复杂性,同时还会引  
起因代码页切换而带来的乱码问题。  
Unicode是一种多字节等长编码。ISO10646/GB13000/Unicode现已在  
UCS2上实现一致,也就是已实现双字节编码标准。下面所讨论的  
ISO10646/GB13000/Unicode,就只是指UCS2这种情况。Unicode对  
ASCII采取前面加"0"字节的策略实现等长兼容。如"A"的ASCII码为0x41,  
Unicode码就为0x00,0x41。  
这里主要从国家标准(GB)系列入手了解Unicode。假如不是看了参考5  
(英文),我还不知道国家关于汉字编码的标准如此之多。中国人居然  
要从英文资料里了解汉字编码标准,实在是很无奈的事情。  
常用中文编码标准 资料来源:CJK.INF  
GB2312-1980(GB0)(简体) GB7589-1987(GB2)(简体)  
GB7590-1987(GB4)(简体) GB13000-1993  
GB6345.1-1986(GB0修正)  
GB8565.2-1988(GB8,GB0扩充)  
GB/T12345-90(GB1)(繁体) GB/T13131-9X(GB3)(繁体)  
GB/T13132-9X(GB5)(繁体)  


其中横向表示字符集系列。纵向表示各个系列的发展标准。其中  
GB2312是基本集,也就是目前最常用的标准。GB7589/GB7590是扩展  
集,使用时可能不能和GB2312共存,需要切换使用。GB7589/GB7590  
是按部件(部首)和笔顺(笔画)排列,但具体有什么字,怎么排列,  
用在什么领域,不清楚。GB2312系列经过两次修正和扩充,已和原  
始的GB2312-1980标准有些不同(参考5)。因为没有标准文本,不知  
道正在使用的字体是属于哪个标准。根据最新的Unicode3.0,国家  


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表