变量a   nvarchar
我想取出a的字节数例如:a="武汉"     lenb(a)=4     结果是对的
      a="武韩SOGO"  lenb(a)=12   就不对了阿(我想要的结果是8) 就像这种有汉字和字符的怎样能取出它的实际字节数呢

解决方案 »

  1.   

    VB的String才用的是UniCode字符集,无论是英文字符还是中文字符,都占一个字符两个字节
      

  2.   

    MsgBox LenB(StrConv(a, vbFromUnicode))
      

  3.   

    有两个方式可以解决:解法1: '假设欲计算字串 str1 的长度Dim str1 As String
    Dim i As Long
    Dim c As Long
    Dim n As Long
    For i = 1 To Len(str1)
    c = Asc(Mid(Str, i, 1))
    If c >= 0 And c < 128 Then
    n = n + 1 '计算英文
    Else
    n = n + 2 '计算中文
    End If
    Next i 解法2: Lenb(Strconv("abcd中英文混合字efg", vbFromUnicode))