BinaryWriter Endian问题
我正在使用BinaryWriter类将二进制文件写入磁盘。 当我调用Write方法时,传递一个unsigned short值,它以little-endian格式写入。 例如:
bw.Write(0xA000);
将二进制文件中的值写为0x00 0xA0。 有没有办法让BInaryWriter使用Big Endian? 如果没有,是否可以创建一个新类,inheritanceBinaryWriter并重载Write函数以使其写入大端?
您可以在MiscUtil中使用我的EndianBinaryWriter
。 这允许您指定所需的字节序。 还有EndianBinaryReader
和EndianBitConverter
。
EndianBinaryWriter writer = new EndianBinaryWriter(EndianBitConverter.Big, stream); writer.Write(...);
它不是从BinaryWriter
派生的,原因是博客文章中给出的原因。
根据microsoft connect,目前不支持: http : //connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?反馈ID = 484149
上述就是C#学习教程:BinaryWriter Endian问题分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/959771.html