BinaryReader读取了4个字节,没有得到预期的结果

本文关键字:结果 读取 4个 字节 BinaryReader | 更新日期: 2023-09-27 18:10:55

我使用BinaryReader读取文件,我有问题,我无法解决。(c#)

我需要读取4个字节。当我用十六进制查看器查看这些字节时,它是00 00 00 13。所以我尝试了Int32 fLength = dbr.ReadInt32();,结果是318767104而不是19(我所期望和需要的)。当我使用byte[] fLength = dbr.ReadBytes(4);时,我可以看到我已经读取了正确的字节[0][0][0][19]。

(我有相同的问题与以下字节)

我如何读取这4个字节并得到19作为结果。

提前感谢!

Robertico

BinaryReader读取了4个字节,没有得到预期的结果

小端序vs大端序的问题:318767104 = 0x13000000

来自文档:

BinaryReader以小端序格式存储该数据类型。

Jon Skeet的miscutil有一个读卡器,可以让你选择大端或小端。

读取一个二进制文件共4bytes

byte[] byteArray = new byte[(int)(flstrm.Length)];
int a= System.BitConverter.ToInt32(byteArray, 0); //here 0 is the start index
lbl1.Text= a.toString();