怎么样在excel中批量把汉字姓名转换为区位码?

来源:百度知道 编辑:UC知道 时间:2024/04/25 13:49:33

不知道这阿行!~

每年一度的全国普通高等学校招生报名过程中,考生都要填写报名信息卡,全体同学很紧张地查阅自己姓名中每个汉字对应的国际区位码,往往填卡时间都很紧,全班同学都抢一本区位码手册。笔者编写了一个VFP小程序,利用学校的学生信息数据库表G97.DBF,新增加区位码字段(字符型,16位),运行该程序即刻看到新增加区位码字段已经填好了,再将学号、姓名、区位码三个字段一起打印出来,用起来十分方便。

每个汉字编码方案对应有一个汉字转换程序,把它们转换成统一的机内码(即ASC码),将接收来的两个字节(国标码)在最高位加“1”,即得到内码。

国际区位码+2020H=国标码,国标码+8080H=内码,所以,国际区位码=内码-A0A0H。

每个汉字由两个字节构成,国际区位码的区码可以通过函数substr( )取汉字的前一字节(即前半个汉字)的ASC码减去160(A0H)得到,位码可以通过取汉字的后一字节的ASC码减去160(A0H)得到,如:“重”字区位码为1702,“重”字前后字节的ASC码分别为177和162,区码为 177-160=17,位码为 162-160=2。

程序由两层循环构成,外层循环从G97.DBF文件中逐条取记录,并用replace with替换命令填写“区位码”字段,内层循环逐字求出“姓名”字段的区位码,由if - endif判断语句去除“姓名”字段中的单字节字符。该程序由VFP6.0编制,做适当修改可以变为FoxBASE+程序。

*转换区位码程序清单

*创建并定义单文档窗口wn1,作为信息提示界面

define window win1 from 1,1 to 30,90 font ′楷体′,14;

style ′B′title ′信息窗口′ panel close nofloat grow nominimize zoom color b/gr+

*显示自定义窗口wn1

show window win1

*激活自定义窗口wn