|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
强大的可扩展性。ASP具有强大的扩展性,可以实现与多种网络、硬件设备的连接:通过专用的通讯线路远程接入企业;通过远程拨号服务器为远程拨号客户提供服务;通过WAP为移动电话互联网客户服务。
GB码和BIG5码的交换手艺
中文与英文用ASCII码一个字节暗示分歧,它利用两个字节来暗示。现实上,在文本文件中保留的就是每一个汉字对应的两个字节编码,而显现成绩由中文操纵体系主动办理。
汉字编码其实不一致,我们利用的是GB码,而台湾区域利用的是BIG5码。BIG5码文件中保留的是汉字响应的BIG5编码,GB码文件中保留的是汉字响应的GB编码。以是转换事情的关头是有一个纪录每一个BIG5编码对应GB编码的码表文件。
GB码编码划定规矩是如许的:每一个汉字由两个字节组成,第一个字节的局限从0XA1-0XFE,共96种。第二个字节的局限分离为0XA1-0XFE,共96种。使用这两个字节共可界说出96*96=8836种汉字。实践共有6763个汉字。
BIG5码编码划定规矩是如许的:每一个汉字由两个字节组成,第一个字节的局限从0X81-0XFE,共126种。第二个字节的局限分离为0X40-0X7E,0XA1-0XFE,共157种。也就是说,使用这两个字节共可界说出126*157=19782种汉字。这些汉字的一部分是我们经常使用到的,如1、丁,这些字我们称为经常使用字,其BIG5码的局限为0XA440-0XC671,共5401个。较不经常使用的字,如滥、调,我们称为次经常使用字,局限为0XC940-0XF9FE,共7652个,剩下的即是一些特别字符。
制造码表文件的道理是如许的:起首将一切的GB编码写进一个文件,然后,利用具有GB码到BIG5码转换功效的软件,如UCDOS下的CONVERT.EXE,将文件转换为BIG5码文件,即失掉码表文件。
上面的程序可将全体国标码写进文件gb.txt(以下全体程序用foxpro誊写,可很简单的转换成其他言语)
fp=fopen("gb.txt",2)
fori=161to247
forj=161to254
=fwrite(fp,chr(i)+chr(j))
next
=fwrite(fp,chr(13)+chr(10))
next
=fwrite(fp,chr(26))
=fclose(fp)
文件的构造情势:行对应编码的第一字节,列对应编码的第二字节。利用时请注重编码的偏移量,如汉字“啊”GB编码0xb1a1第一字节0xb1(177)第二字节0xa1(161)以是他应当在文件的第(177-161=16)行第((161-161)*2=0)列。
运转CONVERT.EXE将gb.txt转换成BIG5码的文件,如许便可失掉按GB码构造的BIG5码表文件big5.txt。反之亦可失掉按BIG5码构造的GB码表文件。
转换的思绪是如许的:(用foxpro誊写)
起首将码表文件装进数组
fp=fopen("big5.txt")
i=0
dowhilefeof(fp)
i=i+1
dimedict[i]
dict[i]=fgets(fp)
enddo
=fclose(fp)
其次将待转换的文本装进变量
createcursortemp(mmm)
appendblank
appendmemommfromtextfilename
text=mm
然后扫描文本,交换一切的GB编码
temp=""
i=1
dowhilei<len(text)
ch=substr(text,i,1)
ifisascii(ch)&&如果ASCII码
temp=temp+ch
i=i+1
else
ch1=substr(text,i+1,1)
big5=substr(dict[asc(ch)-161+1],(asc(ch1)-161)*2+1,2)
temp=temp+big5
i=i+2
endif
enddo
最初将在temp中失掉转换后的文本
必要注重的是,在foxpro中数组指针是以1入手下手,substr函数的肇端位>=1。
foxpro人人应当城市,看得懂的。转换好的big5.txt(17k)没法张贴。若有必要,请与我接洽。email:czjsz_ah@stats.gov.cn
</p>缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。 |
|