施工机械设备检修记录:VB字符处理

来源:百度文库 编辑:偶看新闻 时间:2024/04/28 16:46:35

    早期的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
print 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.