String AMF3字符串表是如何构建的?

String AMF3字符串表是如何构建的?,string,flex3,String,Flex3,我正在研究AMF3格式的解码。我使用了内联对象和变量,但字符串引用有问题。谁能告诉我字符串引用表是如何建立的吗 目前,我有: var object:Object = new Object(); object.s1 = "abc"; object.s2 = object.s1; object.s0 = "111"; byteBuffer.writeObject(object); 然后我将其写入一个字节缓冲区,最后写入一个文件。我想知道字符串引用是如何构建的

我正在研究AMF3格式的解码。我使用了内联对象和变量,但字符串引用有问题。谁能告诉我字符串引用表是如何建立的吗

目前,我有:

    var object:Object = new Object();
    object.s1 = "abc";
    object.s2 = object.s1;
    object.s0 = "111";
    byteBuffer.writeObject(object);

然后我将其写入一个
字节缓冲区
,最后写入一个文件。我想知道字符串引用是如何构建的?

Flex为字符串引用构建了一个表。Flex一旦在对象中遇到字符串,就会执行以下操作:

  • 如果字符串是新的:
    • 将字符串添加到表中并增加引用号
  • 否则
    • 添加对字符串的引用