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

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

我知道BinaryWriter始终使用LittleEndian,我试图为BinaryFormatter查找相同类型的信息。

最佳答案

BinaryFormatter使用内部__BinaryParser类来处理字节解码。将其ReadInt16() method视为具有endian依赖项。单击“ dataReader”以查看只是完成该工作的BinaryReader。

BinaryReader始终使用little-endian,而不管系统默认情况如何。

__BinaryWriter.WriteInt16()的情况与此相同,BinaryFormatter用于编写Int16的内部方法也使用BinaryWriter。请注意,您永远不会真正进行测试,唯一可以执行C#代码的不重要的big-endian主机是较旧的XBox360。它不支持System.Net。

关于c# - BinaryFormatter字节序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32966120/

10-10 07:22