问题
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 转成系统的缺省码页。