【发布时间】:2012-10-16 04:47:19
【问题描述】:
使用 System.IO.BinaryReader 读取二进制文件时,使用任何多字节读取方法时,字节顺序似乎不受影响。
BinaryReader br = new BinaryReader(fs, System.Text.Encoding.BigEndianUnicode);
和
BinaryReader br = new BinaryReader(fs, System.Text.Encoding.Unicode);
对我产生了相同的结果。
这让我很沮丧,因为我在读取数据结构时必须不断地颠倒字节顺序。
Screenshot - Big Endian Unicode
Screenshot - Little Endian Unicode
我已经在 .NET 3 到 4.5 上对此进行了测试
【问题讨论】:
-
我假设 BinaryRead 仅适用于文本文件,但从代码中的块来看,文件似乎是二进制文件。然后据我所知,您必须使用 Convert 类对其进行手动编码
-
如果你也为阅读器指定编码,结果是什么?
标签: c# .net unicode binary endianness