我从一个图片中一次取出1024字节数据 ,然后转换为字符串string ,我用lenB(strAA )得到的结果是1588,应该是2048呀,是不是回车换行,还有空格被删除了。。怎样能完全转换,什么也不删除。lenB(strAA )得值是 2048?Get #StatF, , readByt()  1024
strAA = StrConv(readByt(), vbUnicode)strAA 用LenB的值是  1588.

解决方案 »

  1.   

    你的数据里可能含有对应于中文字符ANSI编码的数据,这些字符在转换为Unicode编码时长度是不变化的。只有英文字符在做ANSI到Unicode转换的时候长度会乘以2.
      

  2.   


    相邻两字节转能换成汉字的或汉字特殊符号的,将会将两字节转换成一个汉字,这时并不增加字节数。Private Sub Command1_Click()
        Dim a(1) As Byte
        Dim b As String
        Dim c As Integer
        
        a(0) = 206
        a(1) = 210
        b = StrConv(a, vbUnicode) 'b="我"
        c = LenB(b)               'c=2
        Stop '观察C
        
        a(0) = 97
        a(1) = 98
        b = StrConv(a, vbUnicode) 'b="ab"
        c = LenB(b)               'c=4
        Stop '观察C
        
    End Sub
      

  3.   

    不应该用Get;应该用InputB。
    另外open要用for Binary
      

  4.   

    还是用byte传输吧,其他办法可能不行