Jon*_*gel 3 .net c# unicode binary endianness
使用System.IO.BinaryReader读取二进制文件时,使用任何多字节读取方法时,字节顺序似乎不受影响.
BinaryReader br = new BinaryReader(fs, System.Text.Encoding.BigEndianUnicode);
Run Code Online (Sandbox Code Playgroud)
和
BinaryReader br = new BinaryReader(fs, System.Text.Encoding.Unicode);
Run Code Online (Sandbox Code Playgroud)
正在为我产生相同的结果.
这让我很沮丧,因为我必须在读取数据结构时不断反转字节顺序.
我已经在.NET 3到4.5上测试了这个
BinaryReader只使用Encoding处理string数据时(几乎就是这样ReadString()).ReadBytes等不涉及Encoding- 它只是读取二进制数据.由于你只打电话ReadBytes,这个(Encoding)永远不会看到.
如果数据是乱序的,那么听起来好像没有创建文件BinaryWriter.如果不是与创建BinaryWriter那么BinaryReader可能不是那么有用-你可以只使用Stream.
| 归档时间: |
|
| 查看次数: |
1627 次 |
| 最近记录: |