我最近与一位同事讨论了通过网络对字节数据进行序列化的问题。
他使用 BinaryFormatter
类来“解析”我发送给他的字节数据。这没有用,他显然有异常(exception)......异常(exception)。 Binaryformatter
无法正确“解析”数据,因为我的数据只是一个字节数组。
他开发 BinaryFormatter
的动机是平台独立性。我不相信这样的立场。当我们都使用 BinaryReader
或 BinaryWriter
时,在代码领域一切正常。
BinaryFormatter
的用途是什么?我是否应该考虑在需要通过网络发送字节的每个场景中使用它?
最佳答案
当然,如果您的数据是 byte[]
,那么使用 BinaryFormatter
并不是明智之举。您只需将数据写入线路即可。但是,如果您有一组对象并希望将它们序列化为一个流,BinaryFormatter
比手动编写每种类型的每个字段更容易使用。 BinaryFormatter
或任何序列化器/反序列化器方案的目的通常是提供一种将对象图(可能很复杂)保存为字节序列的方法。
关于c# - 字节序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1112048/