序列化PHP字符串的结构
我想知道是否有人可以指出我的资源,其中记录了序列化php字符串的详细信息。我基本上想知道格式/结构,因此我可以在VB.NET中编写一个函数以对其进行序列化/反序列化。
谢谢!
回答:
基本结构如下:
- 布尔值序列化为:
b:<i>;
其中<i>是一个整数值,其值为0(false)或1(true)。
- 整数序列化为:
i:<i>;
其中<i>是整数值。
- 浮点数被序列化为(
d含义为double):d:<f>;
<f>浮点值在哪里。
- 字符串被序列化为:
s:<i>:"<s>";
其中,<i>是表示的字符串长度的整数<s>,并且<s>是字符串值。
null简单地序列化为:N;
- 数组序列化为:
a:<i>:{<elements>}
其中,<i>是表示数组中元素数量的整数,以及<elements>零个或多个序列化键值对:
<key><value>其中,<key>代表序列化的标量类型,以及<value>任何可序列化的值。
- 对象被序列化为:
O:<i>:"<s>":<i>:{<properties>}
其中第一个<i>是代表的字符串长度的整数<s>,并且<s>是完全限定的类名(类名前面带有完整的命名空间)。第二个<i>是代表对象属性数量的整数。<properties>是零个或多个序列化名称值对:
<name><value>其中<name>是表示属性名称的序列化字符串,以及<value>可序列化的任何值。
<name> 表示为
s:<i>:"<s>";其中<i>是表示字符串长度的整数<s>。但是,<s>每个属性的可见性值不同:
一个。具有 属性<s>是属性的简单名称。
b。但是,对于
属性,<s>该属性是该属性的简单名称,前面带有\0*\0一个星号,并用两个NUL字符(即chr(0))括起来。
C。带有 属性的<s>是属性的简单名称,以\0<s>\0-
开头,并用<s>两个NUL字符括起来,其中的<s>是完全限定的类名。
还有一些其他情况,例如R:<i>;,代表参考,在这里我没有提到(因为老实说我还没有弄清楚它的确切工作原理),但是这应该给您关于PHP的序列化机制的一个不错的主意。
。
以上是 序列化PHP字符串的结构 的全部内容, 来源链接: utcz.com/qa/416794.html
