我使用术语“编组”来表示“将数据/参数放在可以通过仅接受特定表单的接口的形式”,而“序列化”专门表示“用字节流表示数据”。也就是说,序列化是编组的一种方法,但也有在我称之为编组之外的用途。
编组的一些例子不是序列化的:
- 将参数放入内核系统调用入口点接受的寄存器中的系统调用。 (我不会称之为序列化,因为寄存器之间没有抽象顺序,并且因为某些数据可能位于实际寄存器之外,而是由它们指向。)
- 从JSON或XML源构建树结构以传递到需要树的接口。 (这不是序列化,因为表单是语言级对象,它们之间有引用,而不是字节流。)
- 在主机应用程序和嵌入式语言(如Lua)之间来回传递数据。