vb字符串和字节数组转换奇怪的问题

来源:百度知道 编辑:UC知道 时间:2024/07/04 17:08:12
Private Sub Form_Load()
Dim b() As Byte
Dim s As String
s = "aaa;ss;111;中国"
Debug.Print s
b = StrConv(s, vbFromUnicode) ' 字符串转成数组
s = StrConv(b, vbToUnicode) ' 数组转成字符串
Debug.Print s
End Sub

aaa;ss;111;中国
慡?獳????ú 这里为什么转换不会来了?怎么才能让他回来呢?

在CSDN有与LZ相同的问贴,已有网友指出下句错
s = StrConv(b, vbToUnicode) ' 数组转成字符串
应该为:
s = StrConv(b, vbUnicode) ' 数组转成字符串
参阅NSDN:
StrConv 函数
返回按指定类型转换的 Variant (String)。
语法
StrConv(string, conversion, LCID)
StrConv 函数的语法有下面的命名参数:
部分 说明
string 必要参数。要转换的字符串表达式。
conversion 必要参数。Integer。其值的和决定转换的类型。
LCID 可选的。如果与系统LocaleID不同,则为LocaleID(系统LocaleID为缺省值。)
设置值
conversion 参数的设置值为:
常数 值 说明
vbUpperCase 1 将字符串文字转成大写。
vbLowerCase 2 将字符串文字转成小写。
vbProperCase 3 将字符串中每个字的开头字母转成大写。
vbWide* 4* 将字符串中单字节字符转成双字节字符。
vbNarrow* 8* 将字符串中双字节字符转成单字节字符。
vbKatakana** 16** 将字符串中平假名字符转成片假名字符。
vbHiragana** 32** 将字符串中片假名字符转成平假名字符。
vbUnicode 64 根据系统的缺省码页将字符串转成 Unicode。
vbFromUnicode 128 将字符串由 Unicode 转成系统的缺省码页。