- 这两个词的意思相同吗?
- 如果不是,两者有什么区别?
最佳答案
我使用术语“编码”来表示“将数据/参数置于一种形式,使它们可以通过只接受特定形式的接口(interface)”,而“序列化”具体表示“用字节流表示数据”。也就是说,序列化是编码的一种方法,但在我称之为编码的领域之外也有用途。
一些非序列化的编码(marshal)处理示例:
- 将系统调用的参数放入内核系统调用入口点接受的寄存器中。 (我不会将此称为序列化,因为寄存器之间没有抽象顺序,并且因为某些数据可能位于实际寄存器之外,而是由它们指向。)
- 从 JSON 或 XML 源构建树结构以传递给需要树的接口(interface)。 (这不是序列化,因为形式是语言级对象,它们之间有引用,而不是字节流。)
- 在主机应用程序和嵌入式语言(如 Lua)之间来回传递数据。
关于c - 编码(marshal)处理/解封处理与序列化/反序列化之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54916540/