C# 读取二进制文件。ReadAllBytes()数组大小与文件大小不同
我有一个带有自定义格式的二进制文件,需要从中解析和提取信息 当我用十六进制编辑器打开文件时,它会在文件中显示675字节,并且其windows属性窗口中的文件大小也是675字节(磁盘上的大小:4KB) 当我使用C#方法C# 读取二进制文件。ReadAllBytes()数组大小与文件大小不同,c#,file,binary,hex,C#,File,Binary,Hex,我有一个带有自定义格式的二进制文件,需要从中解析和提取信息 当我用十六进制编辑器打开文件时,它会在文件中显示675字节,并且其windows属性窗口中的文件大小也是675字节(磁盘上的大小:4KB) 当我使用C#方法File.ReadAllBytes()时,我得到一个大小为1172字节的数组 相对于十六进制编辑器中的字节,我无法理解数组中存在的字节 当文件包含675个字节时,为什么C#会读入1172个字节?我如何解析它?你能发布你的代码吗?最好是文件?我只是使用byte[]byteArray=f
File.ReadAllBytes()
时,我得到一个大小为1172字节的数组
相对于十六进制编辑器中的字节,我无法理解数组中存在的字节
当文件包含675个字节时,为什么C#会读入1172个字节?我如何解析它?你能发布你的代码吗?最好是文件?我只是使用
byte[]byteArray=file.ReadAllBytes(fullFilePath)代码>并使用断点查看其大小。byteArray的尺寸是1172。该文件是专有文件,我无法共享抱歉:(尝试使用BinaryReader BinaryReader b=new BinaryReader(file.Open(“file.bin”,FileMode.Open))是否确实指向正确的文件?可能传递了错误的fullFilePath
文件.ReadAllBytes
“works”,因此必须是围绕文件.ReadAllBytes
的代码不起作用。请在调试器中尝试新建文件信息(fullFilePath).Length
并查看它显示的长度