数据中有汉字也有数字,如何计算它的字节长度,用LENB不行.用什么函数或方法可以,

解决方案 »

  1.   

    lenb 是可以的,因为 VB 中字符都是以 Unicode 存储的,每个字符占两字节,包括中文、英文和数字。
    如果要获得字符串转换成 DBCS 后的字符长度的话,用 lstrlenA 。
      

  2.   

    lstrlen:
    【VB声明】
      Private Declare Function lstrlen Lib "kernel32" Alias "lstrlenA" (ByVal lpString As String) As Long【别名】
      lstrlenA用vb自身的语句也可以实现:
    Option ExplicitPrivate Sub Command1_Click()
        Dim s As String
        s = "中国人民csdn220322"
        Dim i As Long
        i = LenB(StrConv(s, vbFromUnicode))
        MsgBox i
        
        
    End Sub
      

  3.   

    =LenB(StrConv(字符串, vbFromUnicode))由于字符串在传给API函数的时候VB会自动做两次转换,而lstrlenA还需要查找\0字符串结束标记,所以lstrlenA的效率很低