10

我正在使用 BinaryWriter 类将二进制文件写入磁盘。当我调用 Write 方法时,传递一个无符号短值,它以小端格式写入。例如:

bw.Write(0xA000);

将二进制文件中的值写入 0x00 0xA0。有没有办法让 BInaryWriter 使用 Big Endian?如果没有,是否可以创建一个新类,继承 BinaryWriter 并重载 Write 函数以使其写入大端?

4

2 回答 2

23

您可以EndianBinaryWriterMiscUtil中使用我的。这使您可以指定所需的字节顺序。还有EndianBinaryReaderEndianBitConverter

EndianBinaryWriter writer = new EndianBinaryWriter(EndianBitConverter.Big,
                                                   stream);
writer.Write(...);

由于博客文章中给出的BinaryWriter原因,它并非源自。

于 2009-10-08T20:34:31.057 回答
3

根据microsoft connect,目前不支持:http ://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=484149

于 2009-10-08T20:35:35.190 回答