我正在尝试用 C# 读取二进制文件,但我遇到了问题。我声明了以下内容:
public static readonly UInt32 NUMBER = 0XCAFEBABE;
然后在从文件的最开头读取时,我要求读取前 4 个字节(已经尝试过不同的方法,但这是最简单的):
UInt32 num = in_.ReadUInt32(); // in_ is a BinaryReader
虽然我知道这 4 个字节是 CA、FE、BA 和 BE(十六进制),但将它们转换为UInt
我得到不同的值。NUMBER 是 3405691582,num 是 3199925962。我也试过这样做:
byte[] f2 = {0xCA, 0xFE, 0xBA, 0xBE};
做的结果BitConverter.ToUInt32(new byte[]{0xCA, 0xFE, 0xBA, 0xBE},0)
是3199925962。
谁能帮我?