将字符串(中英文混合)存入二进制文件,如何实现所有字符都占用两个字节呢? 
--------------------------------- 
VB内部处理字符串是用unicode格式,所有字符都占2个字节,但是写入文件时,还是按照中文二个字节,西文一个字节, Private Sub Command12_Click() 
    Dim i As Integer 
    Dim a As Single 
    Dim s As String 
    i = 100 
    a = 2.3 
    s = "李连杰abc" 
    Open "d:\zgh.dat" For Binary As #1 
    Put #1, , i 
    Put #1, , a 
    Put #1, , s 
    Close #1 
End Sub 这种方式写入二进制文件后,用ultraedit打开一看,发现前三个汉字各占2个字节,后三个英文,各占一个字节。 我想问,如何实现写入二进制文件时,所有字符都按二个字节写入呢? 好象下面的代码不行呀: 
    Dim s As String 
    s = "李连杰abc" 
    Dim b() As Byte 
    b = s 
    Open "d:\zgh.dat" For Binary As #1 
    Put #1, , b 
    Close #1 上面的代码,写入文件后,确实占用2个字节,但是好象都变成乱码了  
 
 

解决方案 »

  1.   

    用二进制方式保存。
    dim s as string
    dim b() as byte
    s = "我abc"
    b() = s
    然后以二进制方式打开文件,保存b()数组。
      

  2.   

    学会用这个函数来转换ANSI码与Unicode码,就好处理你的问题了:
    StrConv(string, conversion, LCID)
      

  3.   

    楼上方法不行吧。
    1.我是写入二进制文件呀。
    2.VB本身就是按unicode编码处理字符的呀,只是写入文件时,自动转成ansi码了,然后再转的二进制。我要求实现的是,直接按unicode码写入二进制。
    问题是,字符串本身就是unicode码的呀。在另一个贴子中,用byte数组可以实现,这里再问问有没有别的方法。