学校要我们填写毕业生的情况表,机读卡那种,姓名要用区位码.我想如果用程序来查询的话,就是数据库查找,我想编一个应该很简单的,就上网看看有没有类似的程序,然后我再用它的数据库自己实现一个,可让我查到了一个文章讲如何实现从汉字到区位码的转换,呵呵,可以不用数据库了.
区位码是与汉字一一对应的编码,用四位数字表示, 前两位从01 到94称区码,后两位从01到94称位码。 一个汉字的前一半是 ASCⅡ码为“160+区码”的字符,后一半是ASCⅡ码为“160+ 位码”的字符。
例如:“刘”的区位码是 3385,其意为区码33位码85,它是由ASCⅡ码为160+33=193和160+85=245的两个字符组成。
区位码是与汉字一一对应的编码,用四位数字表示, 前两位从01 到94称区码,后两位从01到94称位码。 一个汉字的前一半是 ASCⅡ码为“160+区码”的字符,后一半是ASCⅡ码为“160+ 位码”的字符。
例如:“刘”的区位码是 3385,其意为区码33位码85,它是由ASCⅡ码为160+33=193和160+85=245的两个字符组成。
我用简单的控制台程序实现如下
#include<iostream.h>
#include<string.h>
void main()
{
char i[64];
while(1)
{
cout<<"输入单个字母退出"<<endl;
cin>>i;
if(strlen(i)==1)break;
for(int j=0;j<strlen(i);j+=2)
cout<<(i[j]+96)*100+i[j+1]+96<<endl;
}
}