【求助】关于VB二进制读文件出现乱码

萝卜 2015-04-18 03:33:00
我使用VB读取一个记事本的文本,结果读到了文本框控件里就出现了乱码。请各位前辈赐教!谢谢。

乱码截图:


程序代码:
Dim i%
dm txt as byte
Open "c:\123.txt" For Binary As #1
For i = 1 To LOF(1)
Get #1, i, txt
Text1.Text = Text1.Text & Chr(txt)
Next i
Close #1

...全文
212 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
vansoft 2015-04-22
  • 打赏
  • 举报
回复
你这个哪是二进制文件啊? 就是纯文本,一行行读就行了。 如果想偷懒,直接RichTextBox。 有打开,保存的方法。直接调用好了。
赵4老师 2015-04-20
  • 打赏
  • 举报
回复
对电脑而言没有乱码,只有二进制字节;对人脑才有乱码。啊 GBK:0xB0 0xA1,Unicode-16 LE:0x4A 0x55,Unicode-16 BE:0x55 0x4A,UTF-8:0xE5 0x95 0x8A
萝卜 2015-04-18
  • 打赏
  • 举报
回复
谢谢chen8013,用二进制读取就是想学习学习使用二进制读写语句。想多学点知识。非常感谢您!
舉杯邀明月 2015-04-18
  • 打赏
  • 举报
回复
既然确定是纯文本文件,干嘛不用Input模式读取?
这样可以按“行”,或者单个字符来读。
读单个字符时,VB自己会给你处理好是读1字节还是2字节,
并且自动从ANSI编码转换成Unicode编码。
舉杯邀明月 2015-04-18
  • 打赏
  • 举报
回复
dim aBuf() as byte

Open "c:\123.txt" For Binary As #1
ReDim abuf( LOF(1)-1)
Get #1, 1, abuf
Close
Text1.Text = StrConv(abuf, vbUnicode)
萝卜 2015-04-18
  • 打赏
  • 举报
回复
您可不可以给我一个简易一点代码,这样我可以参考一下!非常感谢您!
一如既往哈 2015-04-18
  • 打赏
  • 举报
回复
汉字占2字节,你一个一个读再chr,不出乱码才怪呢。 解决办法:一次性读出来再strconv一下就可以啦.....

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧