easefull 发表于 2012-2-23 07:34:17

[已解决]以二进制方式读文件得出错误字符.

本帖最后由 easefull 于 2012-2-23 09:33 编辑

我试图使用au3强制使用二进制读取mode.dat(见附件)文件时,意外发现得到的数据不正确.
au3代码如下:
Local $sFileName = @ScriptDir & "\Mode.dat"
Local $hFileName = FileOpen($sFileName, 16)
Local $sData   = FileRead($sFileName)
FileClose($hFileName)
MsgBox(0, 0 , BinaryMid($sData, 1, 4))
Exit
用WinHex打开mode.dat,前面四个字节是"42 4D F6 12"


请问,这里是什么原因,有什么办法能够正确的读取全部文件的2进制或16进制数据吗?

benkel 发表于 2012-2-23 09:12:45

仔细看看你的代码吧,Local $sData   = FileRead($sFileName)应该改为Local $sData   = FileRead($hFileName)要不你就不是以二进制方式读取的

easefull 发表于 2012-2-23 09:31:51

回复 2# benkel

晕,相似变量,我研究了三天愣是没搞明白.这真是一言震悟,万分感谢啊{:face (316):}

sgj584520 发表于 2012-2-24 15:15:58

一个字母的问题啊,差距这么大
页: [1]
查看完整版本: [已解决]以二进制方式读文件得出错误字符.