区位码与汉字相互转换的算法_第1页
区位码与汉字相互转换的算法_第2页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、区位码与汉字相互转换的算法.txt你无法改变别人,但你可以改变自己;你无法改变天气,但你可以改变心情;你无法改变生命长度,但你可以拓展它的宽度。一、由汉字得到其区位码标准字库含汉字6763个其中一级汉字3755(按拼音排序)、二级汉字(按部首排序),在加上西文字母、数字、图形符号等700个。字库分为94个区,每个区94个汉字,这就是区位码。汉字处理软件为了实现中西文汉字共同显示又不发生冲突。用码值160以上的ASCII用来当汉字内码,每个汉字由两个字符组成,其中前一个字节表示区码,后一个字节表示位码.区位码汉字部分取值范围是1601-8794(由WIN2000中区位输入法实际操作得出)可以根据

2、其两个字节的ASC码得到该字的区位码计算公式:区码ASC(a) - 160 位码ASC(b) - 160 区位码区码*100 + 位码 其中:a为第一字节 b为第二字节根据汉字区位码的取值范围及每个汉字的区ASC码、位ASC码值可以得知:区ASC码值的范围:176-247位ASC码值的范围:161-254在PB中实现汉字区位码的语法格式为:(ASC(MID(strhz,1,1) - 160) * 100 + (ASC(MID(strhz,2,1) - 160) 由于区码和位码减去160后均为两位数字,所以以上算法相当于将两位的区码与位码组合起来,例如:汉字:中的区ASC码与位ASC码分别为21

3、4208,分别减去160后得5448,组合后区位码即为5448二、由区位码得出汉字的算法1、先得出汉字的两段ASC码可以设:汉字的区位码为Z,汉字的区ASC码为X,汉字的位ASC码为Y,由本文第一部分所述从汉字得区位码的方法可以列出如下公式 (x - 160) * 100 + (y - 160) = Z 推导可得 Z = 100X + y - 16160 当我们已知一个汉字的区位码(Z)时,又已知X的变化范围为176-247,Y的变化范围为161-254可以做出以下程序: int ascqm,ascwm string strhz for ascqm = 176 to 247 for ascwm = 161 to 254 if 100 * ascqm + ascwm - 16160 = z then messagebox(,ascqm= + string(ascqm) + + ascwm= + string(ascwm) end if next next 经验证,以上程序得出的区码和位码一定是唯一值,即汉字的ASC编码 有一个更简单的方法:将区位码分成两部分,每部分分别加160即可得到区ASC码和位ASC码,算法如下:区ASC码INTEGER(MID(mid_str,1,2) + 160位ASC码INTEGER(MID(mid_str,3,2) + 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论