H-Anim logo

ISO/IEC FCD 19774 — Humanoid animation (H-Anim)

5 Abstract data types

抽象数据类型

--- H-Anim separator bar ---

cube 5.1 一般

5.1.1 概述

本条款描述了 H-Anim 中用于定义 H-Anim 对象属性的数据类型的语法和一般语义。

5.1.2 内容表

表 5.1 提供了本条款主要标题的链接。

表 5.1 — 内容表

5.1.3 数据类型的类

有两类常见的数据类型:一类是包含单个元素的值或这些值构成的定长数组的数据类型;另一类是包含元素值的排序列表的数据类型。

元素值数据类型可由实际的数字、字符串、H-Anim 对象指定。当需要元素值数量固定的数据类型时,元素值数组的数据类型可以按以下格式指定:

    DataTypeName[array_size]

    (数据类型名称[数组大小])

每种可以的元素数据类型将在后面描述。

排序列表的数据类型按以下方式指定:

    sequence<DataTypeName>

    (序列<数据类型名称>)

这里 DataTypeName 是元素值数据类型的名称。元素值数据类型的序列可以是元素值数据类型的数组。这样的排序列表可以为空以表示排序列表中为零值。

--- H-Anim separator bar ---

cube 5.2 浮点数

float(浮点)数据类型指定了一个单精度浮点数值。

执行这个数据类型和处理器的单精度浮点指标有关。然而,允许用固定小数点的科学计数法执行这个域,这时对于正数或负数,指数的范围至少要达到[-12, 12],小数点后的精度至少要达到6 位。

--- H-Anim separator bar ---

cube 5.3 整数

int(整数)数据类型指定了一个整数值,其值范围至少支持范围 [-2147483647, 2147483647]。

--- H-Anim separator bar ---

cube 5.4 对象

Object(对象)数据类型是用来指定 H-Anim 对象表示方式的专有数据类型。Object(对象)的实例的表示方式的具体形式将由此国际标准将绑定的呈现系统指定。

--- H-Anim separator bar ---

cube 5.5 字符串

The string(字符串)数据类型表示了 UTF-8 通用字符集(参见 2.[I16046-1]编码的文本字符串string(字符串)数据类型将指定为一个 UTF-8 八位字节序列。

任何字符(包括换行符和'#')都可以出现在字符串中。

2.[I10646-1] 中的字节将被编码为多个八位字节。编码空间按以下方式分割为四个单位:

+-------------+-------------+-----------+------------+

| Group-octet | Plane-octet | Row-octet | Cell-octet |

+-------------+-------------+-----------+------------+
( 组八位字节 | 平面八位字节 | 行八位字节 | 单元八位字节 )

2.[I10646-1] 允许以下两种基本的字符形式:

  1. UCS-2(Universal Coded Character Set-2,通用编码字符集 - 2),这种形式又称为基本多语言面(Basic Multilingual Plane - BMP)。字符编码将使用最低的两个八位字节(即行八位字节和单元八位字节)。
  2. UCS-4(Universal Coded Character Set-4,通用编码字符集 - 4),这时字符编码将使用全部四个八位字节。

另外还接受两种变换格式(UCS Transformation Format 或 UTF):UTF-8 和 UTF-16. 这两个格式是 8 位或 16 位变换的自然表示。UTF-8 和 UTF-16 的参考见 2.[I10646-1].

UTF-8 将维持所有 ASCII 编码值(0...127)的透明性,ASCII 文本(0x0..0x7F)不需要任何改动,0x80.. 0x7FFFFFFF 范围的所有字符也可以编码为六字节或更少的字节。

如果一个字符的最高导引位为 0,剩下的七位将被解释为一个 ASCII 字符。否则导引的值为 1 的位的数量将指示跟随的字节的数量。在导引位和其它数据之间总有一值为 0 的位。

第一个字节将有以下的情况。X 指示了字符编码可用的位:

 0XXXXXXX 单字节		  0..0x7F (ASCII)
 110XXXXX 双字节 	  最大字符值为 0x7FF
 1110XXXX 三字节 	  最大字符值为 0xFFFF
 11110XXX 四字节 	  最大字符值为 0x1FFFFF
 111110XX 五字节		  最大字符值为 0x3FFFFFF
 1111110X 六字节 	  最大字符值为 0x7FFFFFFF

所有后续字节的格式都是 10XXXXXX。

例如双字节的注册商标符 ® 被编码为 ISO 10646-1 UCS-2 中的 0x00AE,而在双字节编码的 UTF-8 中被编码为 0xC2, 0xAE。

--- H-Anim separator bar ---