public interface CodecOperations
IOR 组件格式和 ORB 服务使用的服务上下文数据通常被定义为 IDL 定义数据类型的 CDR 封装编码实例。Codec
提供一个机制,在其 IDL 数据类型和 CDR 封装表示形式之间传输这些组件。
Codec
可从 CodecFactory
中获得。CodecFactory
可通过调用 ORB.resolve_initial_references( "CodecFactory" )
获得。
方法摘要 | |
---|---|
Any |
decode_value(byte[] data, TypeCode tc) 基于给定的 TypeCode 和对此 Codec 有效的编码格式,将给定的 byte 数组解码为 Any。 |
Any |
decode(byte[] data) 基于对此 Codec 有效的编码格式,将给定的 byte 数组解码为 Any。 |
byte[] |
encode_value(Any data) 基于对此 Codec 有效的编码格式,将给定的 any 转换为一个 byte 数组。 |
byte[] |
encode(Any data) 基于对此 Codec 有效的编码格式,将给定的 any 转换为一个 byte 数组。 |
方法详细信息 |
---|
byte[] encode(Any data) throws InvalidTypeForEncoding
Codec
有效的编码格式,将给定的 any 转换为一个 byte 数组。
data
- 将被编码为一个 byte 数组的数据(any 形式)。
TypeCode
和类型数据。
InvalidTypeForEncoding
- 如果该类型对于对此
Codec
有效的编码格式无效,则抛出此异常。
Any decode(byte[] data) throws FormatMismatch
Codec
有效的编码格式,将给定的 byte 数组解码为 Any。
data
- 将被解码为 Any 的数据(byte 数组的形式)。
FormatMismatch
- 在 byte 数组不能被解码为 Any 时抛出。
byte[] encode_value(Any data) throws InvalidTypeForEncoding
TypeCode
中的数据进行解码。
data
- 将被编码为一个 byte 数组的数据(Any 形式)。
InvalidTypeForEncoding
- 如果该类型对于对此
Codec
有效的编码格式无效,则抛出此异常。
Any decode_value(byte[] data, TypeCode tc) throws FormatMismatch, TypeMismatch
TypeCode
和对此
Codec
有效的编码格式,将给定的 byte 数组解码为 Any。
data
- 将被解码为 Any 的数据(byte 数组的形式)。
tc
- 用来解码数据的 TypeCode。
FormatMismatch
- 在 byte 数组不能被解码为 Any 时抛出。
TypeMismatch