本帖最后由 bcrun 于 2012-12-21 11:03:22 编辑

解决方案 »

  1.   

    用LenB就可以了,LenB得出是24字节,而Len是20字节,呵呵。
      

  2.   

    本帖最后由 bcrun 于 2012-12-21 11:04:28 编辑
      

  3.   

    Len求出来的是字符,LenB求出来的是字节。你自己看着办吧~
      

  4.   

    Len求出来的是字符,LenB求出来的是字节。
      

  5.   

    本帖最后由 bcrun 于 2012-12-21 11:04:56 编辑
      

  6.   

    Len 函数
          返回 Long,其中包含字符串内字符的数目,或是存储一变量所需的字节数。语法Len(string | varname)Len 函数的语法有下面这些部分:部分 说明 
    string 任何有效的字符串表达式。如果 string 包含 Null,会返回 Null。 
    Varname 任何有效的变量名称。如果 varname 包含 Null,会返回 Null。如果 varname 是 Variant,Len 会视其为 String 并且总是返回其包含的字符数。 
    说明两个可能的参数必须有其一(而且只能有其一)。如为用户定义类型,Len 会返回其写至文件的大小。注意   LenB 函数作用于字符串中的字节数据,如同在双字节字符集(DBCS)语言中一样。所以 LenB 返回的是用于代表字符串的字节数,而不是返回字符串中字符的数量。如为用户自定义类型,LenB 返回在内存中的大小,包括元素之间的衬垫。对于使用 LenB的示例代码,请参阅示例主题中的第二个示例。注意 当在用户自定义数据类型中使用变长字符串时,Len 可能不能确定实际存储所需的字节数目。
      

  7.   


    对于32位系统,内存对齐于4字节的整数倍,cpu读写内存时,对4n位置的效率最高,如果变量不是4的整数倍位置,则cpu读写内存需要进行转换,效率会低,因此,VB分配变量总是尽可能的分配在4n的位置上
    对于64位系统,内存对齐于8字节整数倍
      

  8.   

    Len() 用于计算写入文件后(压缩)的大小
    LenB() 用于计算在内存中(对齐后)的大小
    按照不同的用途选用恰当的函数。
      

  9.   

    很久没接触 VB 了
    都忘记了数组操作了
    0 to 4 是不是有5个元素? 0 1 2 3 4
      

  10.   

    MsgBox LenB(StrConv("我的A", vbFromUnicode)) '5
      

  11.   


    错了,不是4字节对齐的。
    要看当前的数据占的字节数的,如果当前字节占2个字节,如果前面是奇数字节,则要+1字节对齐。同理,如果当前字节是4字节(比如long),则前面的字节数必须是4的倍数,否则+字节补齐。