如下字符串:sdfasf奥斯陆地方
其字节数应为:16
我想从第5个字节开始取6个字节,应为:sf奥斯
应该如何写?
我用MID取,结果是:sf奥斯陆地
用MIDB取,结果是:fa

解决方案 »

  1.   

    用lenb函数会发现vb认为该字符串有22个字节长度,而不是16个;
    用len函数得到是11。
    Dim str1 As String
    str1 = "sdfasf奥斯陆地方"
    'str1 = StrConv(str1, vbFromUnicode)Debug.Print LenB(str1)
    Debug.Print Len(str1)
    Debug.Print Mid(str1, 5, 4)
    Debug.Print MidB(str1, 9, 8)
    如果使用strconv函数进行转换(vbFromUnicode 128 将字符串由 Unicode 转换成缺省的系统代码页。 ),那么lenb会认为是16,但mid和midb会得到乱码。