封送/解封与序列化/反序列化之间有什么区别?

时间:2019-02-28 00:19:23

标签: c arrays go stream byte

  1. 两个术语的含义相同吗?
  2. 如果不是,那么两者有什么区别?

1 个答案:

答案 0 :(得分:1)

我使用“封送处理”一词来表示“以某种形式将数据/参数传递给它们,使其可以通过仅接受特定形式的接口”,而“序列化”则特别意味着“以字节流表示数据”。也就是说,序列化是封送处理的一种方法,但是在我称为封送处理的域之外也有使用。

一些没有序列化的封送处理示例:

  • 在内核syscall入口点接受的寄存器中将参数放入syscall。 (我之所以不称其为序列化,是因为寄存器之间没有抽象顺序,并且因为某些数据可能位于实际寄存器之外,而由它们指向。)
  • 从JSON或XML源构建树结构,以传递到需要树的接口。 (这不是序列化,因为表单是语言级对象,它们之间具有引用,而不是字节流。)
  • 在主机应用程序和嵌入式语言(例如Lua)之间来回传递数据。