VB6中字符串编码及转换常⽤函数
VB6中字符串转换常⽤函数
对于VB的字符串,⼏个专门“武器”⼤概有:
StrConv() 'unicode与ansi的互换 ,    常量vbUnicode,vbFromUnicode
VarPtr() '-- 获得字符串变量的地址
StrPtr() '-- 获得字符串缓冲区的地址
Asc(), AscB(), AscW()
Chr(), ChrB(), ChrW()
Len(), LenB()
vbNullString, vbNullChar
以Asc、AscB、AscW为例,其区别如下。
Asc(string) 返回与字符串的第⼀个字母对应的 ANSI 字符代码。返回值:英⽂ >0,中⽂ <0。
AscB(binstr) 适⽤于⼆进制数据。AscB 不是返回第⼀个字符的字符代码,⽽是返回⾸字节。
AscW(string) 是为使⽤ Unicode 字符的 32 位平台提供的。它返回 Unicode (宽型)字符代码,因此可以避免从 ANSI 到 Unicode 的代码转换。它的返回值与JavaScript 中的 charCodeAt 相同。返回值:英⽂ >0,中⽂ >255
可以下⾯的例⼦:
Sub Test2_StrFunc()
Dim str1 As String, str2 As String
str1 = "想你So"
str2 = "So想你"
Debug.Print Asc(str1), AscB(str1), AscW(str1) '-12309 243 24819
Debug.Print Asc(str2), AscB(str2), AscW(str2) ' 83 83 83
Debug.Print Chr(-12309) & "*", ChrB(243) & "*", ChrW(24819) & "*" '想* ? 想*
Debug.Print Chr(83) & "*", ChrB(83) & "*", ChrW(83) & "*" 'S* ? S*unicode字符转中文
str2 = ChrB(83) & ChrB(0) '"S"由⼆进制83和⼆进制0表⽰
Debug.Print str2 'S
End Sub