0

在浏览了 AMF0 规范后,我发现我无法理解编码 StrictArray 类型的正确方法。

这是规范中最直接的部分:

数组计数 = U32

严格数组类型 = 数组计数 *(值类型)

它描述了具有增强巴科斯-瑙尔形式 (ABNF) 语法的 StrictArray 类型(参见RFC2234

StrictArray 类型是否具有序号索引或仅按其在 StrictArray 对象图中出现的顺序编码的对象(没有序号键)?

另外,作为一个附加问题,序列化表(从中生成对象引用 ID)是否包含对象图中的所有对象,还是仅包含可能通过引用编码的对象(ECMAArray、StrictArray、TypedObject、AnonymousObject)?

4

1 回答 1

1

请参阅https://github.com/silexlabs/amfphp-2.0/blob/master/Amfphp/Core/Amf/Serializer.php第 329 到 336 行。您先写对象的数量,然后是每个对象。

附加问题:相同的代码,查找 Amf0StoredObjects。引用 ID 仅适用于可引用对象。不过,这些对于 AMF0 和 AMF3 有所不同。

于 2013-06-04T06:19:40.467 回答