BinaryWriter Endian问题

Ice*_*ind 10 .net c# vb.net endianness

我正在使用BinaryWriter类将二进制文件写入磁盘.当我调用Write方法时,传递一个unsigned short值,它以little-endian格式写入.例如:

bw.Write(0xA000);
Run Code Online (Sandbox Code Playgroud)

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

Jon*_*eet 23

你可以EndianBinaryWriterMiscUtil中使用我的.这允许您指定所需的字节序.还有EndianBinaryReaderEndianBitConverter.

EndianBinaryWriter writer = new EndianBinaryWriter(EndianBitConverter.Big,
                                                   stream);
writer.Write(...);
Run Code Online (Sandbox Code Playgroud)

它不是源自博客文章中给出BinaryWriter的理由.