VB字符处理
早期的Visual Basic采用单字节处理机制,即一个英文字符用一个字节进行编码,中文字符则采用两个字节进行编码。这样,一个英文字符的存储要占用一个字节的空间,而一个中文字符则要占用两个字节,即ANSI方式。
4 0版以后,Visual Basic采用了一种新的字符处理方式,即所谓的大字符编码方案。这种方案把英文字符和中文字符作为一个整体进行统一编码,每个字符均用两个字符进行编码,通常把这种处理方案称为“UniCode方式”(统一编码方式)。在这种机制下,一个英文字符或一个汉字都看作是一个字符,所占用的存储空间均为两个字节。
为了实现ANSI与UniCode之间的转换,Visual Basic提供了一个名为StrConv的转换函数,格式如下:
新字符串=StrConv(待转换字符串,转换格式)
其中“待转换字符串”可以是字符串常量,也可以是字符串变量。“转换格式”用来指定转换成哪种格式的字符串,可以取多种值,与ANSI和UniCode转换有关的值有两个,分别是:
vbUnicode (值为64) 将ANSI编码格式的字符串转换为Unicode格式
vbFromUnicode(值为128) 将Unicode编码格式的字符串转换为ANSI格式
例如:求字符长度
print len('VB程序设计')
6
print lenb('VB程序设计')
12
字符串函数 通配符 vbprint len(strconv('VB程序设计',vbfromunicode))
5
print lenb(strconv('VB程序设计',vbfromunicode))
10
解释
unicode方式下:
len函数中,1个英文字符和1个汉字均占1个字节,所以结果为6.
lenb函数中,1个英文字符和1个汉字均占2个字节,所以结果为12.(采用大字符)
ansi方式下:
len函数中,1个英文字符占半个字节,1个汉字占1个字节,所以结果为5.
lenb函数中,1个英文字符占1个字节,1个汉字占2个字节,所以结果为10.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论