我正在使用BinaryWriter类将一个二进制文件写入磁盘。当我调用Write方法,传递一个无符号的短值时,它以小端格式写入该值。例如:
bw.Write(0xA000);将二进制文件中的值写入0x00 0xA0。有没有办法让BInaryWriter使用高字节顺序?如果没有,有没有可能创建一个新类,继承BinaryWriter并重载Write函数,使其写入高字节顺序?
发布于 2009-10-08 20:34:31
您可以在MiscUtil中使用我的EndianBinaryWriter。这使您可以指定所需的字节顺序。还有EndianBinaryReader和EndianBitConverter。
EndianBinaryWriter writer = new EndianBinaryWriter(EndianBitConverter.Big,
stream);
writer.Write(...);由于given in a blog post的原因,它不是从BinaryWriter派生的。
发布于 2009-10-08 20:35:35
根据microsoft connect的说法,目前不支持:http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=484149
https://stackoverflow.com/questions/1540251
复制相似问题