我们使用 BinaryFormatter 将对象序列化为 NetworkStream 并通过 TCP 套接字传输它们。
我只是想弄清楚字节序是固定的还是系统相关的。
我知道 BinaryWriter 始终使用 LittleEndian,我试图为 BinaryFormatter 找到相同类型的信息。
最佳答案
BinaryFormatter 使用内部 __BinaryParser 类来处理字节解码。看看它的ReadInt16() method作为具有字节序依赖性的一个。单击“dataReader”可以看到它只是一个完成该工作的 BinaryReader。
BinaryReader 始终使用小端字节序,无论系统默认值如何。
同样的情况也适用于 __BinaryWriter.WriteInt16(),BinaryFormatter 用于写入 Int16 的内部方法,使用 BinaryWriter。请注意,您永远不会实际测试这一点,唯一可以执行 C# 代码的重要大端主机是旧版 XBox 360。它不支持 System.Net
关于c# - BinaryFormatter 字节顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32966120/