2013-01-20 49 views
1

我已经写了一个死简单的序列化格式,首先将它们转换成大字节形式的字节,然后用一个字节作为前缀来指定数字占用的字节数,从而对无符号整数进行编码。例如。 3 = 01 03268 = 02 01 0C。整数范围因此为02^255 - 1序列化格式的名称

我使用它通过在字符串前加上字符串长度的编码来序列化字符串,然后我可以很容易地序列化任意结构,例如字符串列表是元素数量的编码,后面跟着编码每个字符串。

这是在PHP:https://gist.github.com/4577886

我的问题是:你称这种串行化方法是什么?它经常使用吗?它有什么问题吗?

谢谢。

回答

2

这是一种type-length-value,没有类型。这就是它的错误。你如何知道接下来的4个字节是int还是一个字符串还是一个4字节的数组?

+1

序列化是静态类型的。您的代码应该知道它正在读取的字节的期望类型,然后在解析时发生的任何故障都被认为是损坏的数据。 – Jesse

+0

另外我接受这个答案,因为“type-length-value”的确是我正在寻找的名称。 – Jesse