巧获五笔字型编码字典
龋黼
60—6\
赢缔絮种,
巧获五笔字型编码字典
刘建军
五笔字型汉字输入拄术以其易学好用,速度快,重
码率低等优点,在众多的汉字输入法中独领风骚.如果
能有一份所有汉字的五笔字型编码字典,对于广大五
笔字型用户无凝是十分有用的,特别是对于那些初学
者来说,更是进行折解练习的好帮手
常用的拼音,首尾等汉字编码字典已有不少文章
介绍过,但对于汉字五笔字型编码字典的介绍文章则
至今还没有见到.笔者通过对金山汉字系统(所用版本
为5.10,WBZX.COM文件长度为47693字节)所带五
笔字型输入程序进行了剖析,成功地得到了完整的五
笔字型汉字编码字典.
在WBZX.COM文件中,从文件头偏移1708
(06ACH)处开始的20304字节存放着汉字的五笔字型
编码,共有72压计6768个汉字.其中每个汉字编码占3
个字节.编码存储格式为:首字节的前5位二进罱I数存
放五笔字型的首码在字母表中的序号(如字母D序号
为4,则其对应5位=进制数为00100,值为4.下同).后
3位与第2字节的第6,第5两位共5位二进制数存储第2
个码序号,第2字节的束4位与第3字节的第6位存储第3
个码序号,第3个字节的最后5位存放第4码的字母序
号.当五笔字型编码最多只有3位时.第3字节的后5位
均为0.
弋{31l,
l99s毒浠
另外笔者经过分析还发现,第2字节的前2位存放
着简码字标志,其中首位为1表示二级简码,第2位为1
表示三级简码以森字为倒.五笔字型编码为SS.
SU,在编码表中如下存放十六进制数9c7935.相应
的二进嗣形式为lool11000111100100110101.为
三级简码,具体的编码存放方法见下圉.
根据以上编码存储原理.笔者用Turb.C语言编
写了生成所有汉字的五笔字型编码字典程序(见附
录).这里对于五笔字型汉字编码字典作几点说明.
(1)率编码字典按区位号顺序排列.汉字后紧跟
五笔字型编码,编码中的小写字母表示简码,输入时可
以直接输入简码加空格方式输入该字,以提高速度.
(2)用以上方法得到的五笔字型汉字编码字典同
样适用于其他汉字系统的五笔字型输入法,只是对于
不同的五笔字型版本,在简码处理上可能稍有不同.
(3)本方法对于CCBIOS3.13H汉字系统所带五
笔字型输入法程序(WBZX.EXE,长度为65680字节)
也同样适用.只是因为存放五笔字型编码表的起始地
址不同.因此需要将程序中的偏移变量OFFSET改为
十六进制数02BD.并将打开文件名改为WBZX.EXE
即可.
茼睬志未用
第啤节F1第二宇节79Fq第三字节
110l0I1I1I1l010l10I1I1I1I1l0l0l1ll010I1I1l0l1l0I1
s1s
*江阴市建设委员会赦机室214431江阴
61ii]IU1]]11111]J
SlD
浪潮系列微机又一批新产品通过省级鉴定
浪潮奔腾PCI--60,浪潮486PCI--66,浪韵R400
—
100系列徽型计算机于I994年l2月Z3日在济南同时
通过了由山东省科委受权山东省电子工业局组织召开
的省级技术鉴定台,
浪潮奔腾PcI一6O微机采用Pentium为中央处理
器,PCI局部总线和ISA总线相结台的双总线结掏,采
用浪潮PCIVGA图形加速卡和浪潮PCISCSI控制
器+还采用了Plugandplay(~p插即用),FLASHMem-
ory,增强的并行通讯口,72线SIMM,支持大容量IDE
接口硬盘等当今计算机界先进
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
思想和技术.该系
统可运行UNIX,WindowsNT,MS--.DOS,Netwar等
操作系统,各种敷据库和高级语言.
浪潮486PCI--66微机是与奔腾PcI一6O同期研制
的新产品,除CPU采用80486外,其它方面与奔腾PCI
相同,并且可方便地将CPU更换为Pentium,Over—
drive处理器,使其升级为奔腾PCI高档微机.该机由
于采用了PCI总线技术和其它先进设计思想,其性能
大大高于以往的486徽机产品.
浪韵R4000—100徽机采用64位RISC结掏的
MIPSR4000为中央处理器;采用了超级流水线指夸并
行处理,双总线并行访同分离的敷据和指令CACHE,
高效TLB大虚拟空间存储管理,优化编译器等先进技
术;采用了国际上先进的超大规模专用集成电路芯片
组,两级CACHE,72线SIMM,宽把时序,快速突发
附景:五笔字型汉字编码字典生戚源程序
#im:ludestdio.h
#defineOFFSETOxO6ac
main()
{
FIl|E?fpl,?fp2,
_?t,jI
tmsignedcharj?,/?筒码标志?/
unsignedchar5[6]ta[s]F
讧((fD1~fopen(“WBZX.COM,rh))==NULL)
primf(OpenfileWBZX.COMerror\)
exit(1)
if’(fp2一fopen(WBZX.DAT”,”w))一NULL)(
printf(CrealefileWBZX.DATermr’Vl)}
exit(1)#
}
fseek(fpl,OFFSET,05}
for(i=16}i?87Ii++){
fpriatf(fp2,第%d区\nti)}
for(j=1}j?94}j++?
s[0]一(chart(i+0xa0)}
mE1]:(char)(jq-0xa0)I
(fread(a,1,3.fp1)J=NULL)(
jm一(a[1]Dxc0)》6}
5[2]=((aE0]>>3)~)xlf)+0x401
s[3]一((a[0]蛐x07)《2)+((aE1]>>4)L%Ox03)
+Ox40#.
s[=((aE1]8~OxOf)<<1)+((aE2]>>5)’F~0x01)
+0x40~
s[5](a[2]P;~Oxlf)-}-0x401
证(ira>0x02)《
s[2]s[2]-k0x201
s[3]一$[3]-k0x20)
}’
else讧(jm一一0x01)f
sE2]=s[2]+o~oI
sE3]=sE3]+Ox2OI
sE4]:s[4]+o~oF
,
if(5[5]<0x41)
tprimf(fp2,c~c’Accc.s[0].s[1].
5[2],s[3].s[4])I
else
fprintf(fp2.ccc%c%c,5[0],s[1]
5[2],5[3],s[4],ls[5])I
}
讧(J1o==o)fprintf(fp2,”\n)|
}
\n) fprintf(fp2,\n
}
fcic~e(fp1)}
fcloee(fp7)}
)一