将字符串(中英文混合)存入二进制文件,如何实现所有字符都占用两个字节呢?
---------------------------------
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个字节,但是好象都变成乱码了
---------------------------------
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个字节,但是好象都变成乱码了
dim s as string
dim b() as byte
s = "我abc"
b() = s
然后以二进制方式打开文件,保存b()数组。
StrConv(string, conversion, LCID)
1.我是写入二进制文件呀。
2.VB本身就是按unicode编码处理字符的呀,只是写入文件时,自动转成ansi码了,然后再转的二进制。我要求实现的是,直接按unicode码写入二进制。
问题是,字符串本身就是unicode码的呀。在另一个贴子中,用byte数组可以实现,这里再问问有没有别的方法。