2015-10-06 49 views
2

我们使用BinaryFormatter将对象序列化到NetworkStream并通过TCP套接字传输它们。BinaryFormatter Endiannes

我只是想弄清楚Endiannes是固定的还是依赖于系统。

我知道BinaryWriter总是使用LittleEndian,我试图为BinaryFormatter找到相同类型的信息。

回答

1

BinaryFormatter使用内部__BinaryParser类负责解码字节。看看它的ReadInt16() method是否具有endian依赖性。点击“dataReader”可以看到它只是一个BinaryReader,可以完成这项工作。

无论系统默认情况如何,BinaryReader总是使用little-endian。

__BinaryWriter.WriteInt16()是BinaryFormatter用于编写Int16的内部方法,它使用BinaryWriter。请注意,你永远不会真的测试这个,唯一可以执行C#代码的不重要的big-endian主机是旧有的XBox 360.它不支持System.Net