flash.net
public final class ObjectEncoding
继承ObjectEncoding Inheritance Object

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

ObjectEncoding 类用于在对对象进行序列化的类(例如,FileStream、NetStream、NetConnection、SharedObject 和 ByteArray)中定义序列化设置,以便与 ActionScript 的以前版本一起使用。

对象编码用于控制如何以 Action Message Format (AMF) 表示对象。Flash Player 使用 AMF 来启用应用程序和远程服务器之间的高效通信。AMF 将远程过程调用编码为一种紧凑的二进制表示形式,这种表示形式可以通过 HTTP/HTTPS 协议或 Flash Media Server 使用的 RTMP/RTMPS 协议进行传输。对象和数据值将被序列化为这种二进制格式,这种格式通常比其他表示形式(例如 XML)紧凑。

Adobe AIR 和 Flash Player 9 提供两种不同的序列化格式:AMF3 和 AMF0。AMF3 是为 ActionScript 3.0 开发的默认序列化格式,与用于 ActionScript 1.0 和 2.0 的 AMF0 相比,AMF3 具有多种优点。AMF3 通过网络发送数据比 AMF0 更高效。AMF3 支持将 intuint 对象作为整型发送出去,并支持只可在 ActionScript 3.0 中使用的数据类型,例如 ByteArray、XML 和 IExternalizable。AMF3 只能在 ActionScript 3.0 和使用 AMF3 编码的服务器(例如 Flex 2)中使用。

ByteArray、FileStream、NetConnection、NetStream、SharedObject、Socket 和 URLStream 类均包含一个 objectEncoding 属性,为该属性分配的常量来自 ObjectEncoding 类。objectEncoding 属性的行为因对象而异;每个类的 objectEncoding 属性描述更加全面地说明了其行为。



公共属性
 属性定义方
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  dynamicPropertyWriter : IDynamicPropertyWriter
[静态] 允许对动态对象的动态属性的序列化进行更大程度的控制。
ObjectEncoding
 Inheritedprototype : Object
[静态] 对类或函数对象的原型对象的引用。
Object
公共方法
 方法定义方
 Inherited
指示对象是否已经定义了指定的属性。
Object
 Inherited
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
 Inherited
指示指定的属性是否存在、是否可枚举。
Object
 Inherited
设置循环操作动态属性的可用性。
Object
 Inherited
返回指定对象的字符串表示形式。
Object
 Inherited
返回指定对象的原始值。
Object
公共常量
 常量定义方
  AMF0 : uint = 0
[静态] 指定使用 ActionScript 1.0 和 2.0 的 Action Message Format 来序列化对象。
ObjectEncoding
  AMF3 : uint = 3
[静态] 指定使用 ActionScript 3.0 的 Action Message Format 来序列化对象。
ObjectEncoding
  DEFAULT : uint = 3
[静态] 指定当前运行时的默认(最新)格式(Flash® Player 或 Adobe® AIR™)。
ObjectEncoding
属性详细信息
dynamicPropertyWriter属性
dynamicPropertyWriter:IDynamicPropertyWriter  [读写]

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

允许对动态对象的动态属性的序列化进行更大程度的控制。当将此属性设为默认值 null 时,将使用本机代码序列化动态属性,这将写入除值为函数以外的所有动态属性。

仅对动态对象(在动态类中声明的对象)或使用 new 运算符声明的对象的属性调用该值。

可以使用此属性将动态对象的属性排除在序列化之外,将值写入动态对象的属性中或为动态对象创建新属性。为此,请将此属性设置为实现 IDynamicPropertyWriter 接口的对象。有关详细信息,请参阅 IDynamicPropertyWriter 接口。



实现
    public static function get dynamicPropertyWriter():IDynamicPropertyWriter
    public function set dynamicPropertyWriter(value:IDynamicPropertyWriter):void

另请参见

常量详细信息
AMF0常量
public static const AMF0:uint = 0

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

指定使用 ActionScript 1.0 和 2.0 的 Action Message Format 来序列化对象。

AMF3常量 
public static const AMF3:uint = 3

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

指定使用 ActionScript 3.0 的 Action Message Format 来序列化对象。

DEFAULT常量 
public static const DEFAULT:uint = 3

语言版本: ActionScript 3.0
运行时版本: AIR 1.0 Flash Player 9

指定当前运行时的默认(最新)格式(Flash® Player 或 Adobe® AIR™)。由于对象编码控件仅在 Flash Player 9 和更高版本以及 Adobe AIR 中提供,因而使用的最早格式是用于 ActionScript 3.0 的 Action Message Format。

例如,如果某个对象的 objectEncoding 属性设置为 ObjectEncoding.DEFAULT,则将使用 AMF3 编码。以后,如果更高版本的 Flash Player 或 Adobe AIR 引入了新版 AMF,并且您重新发布了内容,则应用程序将使用此新版 AMF。仅当您毫不担心新版与旧版之间的互操作性时才能使用此常数。