c# - BinaryWriter Endian 问题

标签 c# .net vb.net endianness

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

bw.Write(0xA000);

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

最佳答案

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

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

它不是从 BinaryWriter 派生的,原因 given in a blog post .

关于c# - BinaryWriter Endian 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1540251/

相关文章:

c# - Visual Studio 2010 自动附加到进程

c# - 将 Firefox 嵌入到 .NET 控件中

c# - 如何测试未释放的 GDI 对象导致的内存泄漏?

.net - 控件中的 id 自动更改

c# - 全局数据真的那么糟糕吗?

c# - Axis2 MTOM Web 服务和使用它的 .NET 客户端

vb.net - 使用 Office 互操作检测 Word 文档中的表格和图像

vb.net - VB.NET 中的 HTTP GET

vb.net - 如何在 For Each...Next 循环中获取对象的索引?

.net - 如何将两个组合框的所选项目与单个DataSource分开?