c# - 字节序列化

标签 c# serialization arrays binaryformatter

我最近与一位同事讨论了通过网络对字节数据进行序列化的问题。 他使用 BinaryFormatter 类来“解析”我发送给他的字节数据。这没有用,他显然有异常(exception)......异常(exception)。 Binaryformatter 无法正确“解析”数据,因为我的数据只是一个字节数组。

他开发 BinaryFormatter 的动机是平台独立性。我不相信这样的立场。当我们都使用 BinaryReaderBinaryWriter 时,在代码领域一切正常。

BinaryFormatter 的用途是什么?我是否应该考虑在需要通过网络发送字节的每个场景中使用它?

最佳答案

当然,如果您的数据是 byte[],那么使用 BinaryFormatter 并不是明智之举。您只需将数据写入线路即可。但是,如果您有一组对象并希望将它们序列化为一个流,BinaryFormatter 比手动编写每种类型的每个字段更容易使用。 BinaryFormatter 或任何序列化器/反序列化器方案的目的通常是提供一种将对象图(可能很复杂)保存为字节序列的方法。

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

相关文章:

c# - 复制 C# 对象和引用

c# - C# 中的 Array 和 object[] 有什么区别?

c# - 带有 dotNet Framework 4.6.1 和 Ninject 的 EF Core DataContext

c++ - GCC 下的对象加载段错误

JavaScript - 从 400 个元素的数组绘制一个简单的 15x10 map

c# - 没有触发器的循环 Storyboard 动画

c# - WebAPI JSON 序列化未序列化复合对象的任何子对象

c++ - 0xC0000005 : Access violation writing location c++ Array

php - 通知: Undefined index of a xml

python-3.x - 使用 Python 的 Protocol Buffer 选择使用 SerializeToString 的数据顺序