我写了如下代码:Open "E:\a.txt" For Binary As #1
Put #1, , Chr(8634)'先写入文件
Close #1Open "E:\a.txt" For Binary As #1
Dim b(5) As Byte'再重新读出来
Get #1, , b
a = StrConv(b, vbFromUnicode)'将字节数组转成字符串
Close #1上面的写入文件那里,我将Chr(8634)写入文件,原本文件是空的。然后立马读出来,却发现最后出来的字符串(赋值给a变量的字符串)是“?!”,其实还有别的,我用记事本打开文件,数了一下是5个符号,包括空格,如下:
!
所以我就不明白了,Chr函数出来的不应该是一个字符吗?怎么有那么多个,而且这些字符的Ascii码和8634扯不上半毛钱关系,到底是为什么呢?
Put #1, , Chr(8634)'先写入文件
Close #1Open "E:\a.txt" For Binary As #1
Dim b(5) As Byte'再重新读出来
Get #1, , b
a = StrConv(b, vbFromUnicode)'将字节数组转成字符串
Close #1上面的写入文件那里,我将Chr(8634)写入文件,原本文件是空的。然后立马读出来,却发现最后出来的字符串(赋值给a变量的字符串)是“?!”,其实还有别的,我用记事本打开文件,数了一下是5个符号,包括空格,如下:
!
所以我就不明白了,Chr函数出来的不应该是一个字符吗?怎么有那么多个,而且这些字符的Ascii码和8634扯不上半毛钱关系,到底是为什么呢?
解决方案 »
- 请教 MSHFlexGrid > ACCESS 如何写入!!
- 高手进来指点一下 有关共享内存的问题
- [求助]VB调用DLL,断点跟踪发现寄存器内容被修改,导致返回结果出错~~~
- VB中动态数组的问题
- 谁知道哪里有winsock高级编程之类的电子书下载?
- 关于用IIS4.0附带的CDONTS(NTS Collaboration Data Objects)发邮件的几个问题!
- 关于生成dbf的问题
- 在线等待.......关于模糊查询的问题(用ADO连的数据库)
- 如何下载一个指定url的文件。如http:\\www.aaa.com\aa.rar及文件的大小及下载的进度?谁能提供一个示例?
- 问题:vb调用sql server的存储过程怎么调用
- 高手们,还是这个大华的netsdk,问题让人太难受了
- 自从CSDN没有了每日的免费积分。。。
其次,Put写包含String的Variant值时,会先写入两个字节的描述符(描述Variant包含的是什么类型,String是8),再写入两字节字符串长度,剩下的就是字符串。
因此写入的字符串(用Variant表示的)总会比实际的多4个字节,与其编码没有丝毫关系。如想写什么,得什么,你应该显示定义String,再写:Open "E:\a.txt" For Binary As #1
Dim s As String '显示定义String
s=Chr(8634)
Put #1, , s '先写入文件
Close #1