热情软件屋

 

如何用VB5获取中文WINDOWS95/98中的汉字机内码


编号:QA002239
建立日期: 1999年12月13日 最后修改日期:1999年12月13日
所属类别:

WHQ:
    请问如何用VB5获取中文WINDOWS95/98中的汉字机内码?以前在DOS下的QB中用的ASC、MID、CHR$等好像不起作用了。

回答:

    我们得从VB处理字符串的方式讲起。QB和早期的VB是采用单字节处理方式(通常也称为ANSI方式),也就说一个英文字母用一个字节表示,一个汉字算两个字节,当然这样就可能出现半个汉字的问题。从VB 4.0起,VB采用了一种新的处理方式,即内部采用Unicode方式,即不论英文字母还是汉字,一律用两个字节表示,但Unicode还不够普及,所以VB只是在其内部完全使用Unicode,而在外部仍转换为人们习惯的ANSI方式,但在字符串处理上与先前的版本有所不同。例如:在中文Windows或英文Windows外挂RichWin 97中,Len("问专家")=3,而在以前的版本或纯英文Windows中Len("问专家")=6。除了Len,Left、Right、Mid、Asc等字符串函数均受此影响。这种处理有时不太方便,但一般不会读入半个汉字。你可以用下面的代码试试:
     s = "问专家"
     Dim i
     For i = 1 To Len(s)
     Print Hex(Asc(Mid(s, i, 1)))
     Next
    运行这段程序你就会发现,Asc函数每次会输出一个汉字(两个字节)的内码。

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio