精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● VB和Basic>>〓〓..各种开发技巧..〓〓>>算法、技巧和其他>>技巧:如何知道一个汉字是由哪两个字符组

主题:技巧:如何知道一个汉字是由哪两个字符组
发信人: fishy()
整理人: winsy(2003-03-05 16:32:51), 站内信件
VB使用Unicode,字符串中所有的汉字都不能拆开来,
这样可能会有一些不方便,因此,我们有时需要将其拆开。
这时可以使用下面的方法:
Dim B() as Byte,S as String
S="中文English"    '中英文混合的字符串
B=StrConv(S,vbFromUnicode)    '将其由Unicode转换为一般字符串

此时B(0)到B(UBound(B))就包含了次字符串中单个的字节的Ascii码。
UBound(B)+1就是此字符串的长度(为11)
B(0)和B(1)就是组成“中”字的两个字符的Ascii码。
当然,也可以不用Byte数组而使用字符串:
Dim S1 as string,S2 as string
S1="中文English"
S2=StrConv(S1,vbFromUnicode)
那么LenB(S2)=11,LeftB(S2,1)和LeftB(S2,2)就是组成“中”字的两个字符。
但是要注意,如果此时按照一般字符串一样处理S2,可能会发生意想不到的错误
。使用S3=StrConv(S2,vbUnicode)可以把一般的字符串转成Unicode

--
一天到晚游泳的鱼啊,鱼不停游
一天到晚想你的人啊,爱不停休

※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.103.37.23]

[关闭][返回]