STDF 规范使用一套简明易懂的数据类型代码。
例如,R*4 表示以四个字节存储的 REAL(浮点)值。一个字节由八位数据组成。
下表列出了 STDF 数据类型代码的完整列表以及对应的 C 语言类型说明符。
Code | Description | C语言表示 |
C*12 | 固定长度字符串: 如果没有填满整个字段,则必须左对齐并用空格填充。 | char[12] |
C*n | 长度可变的字符串,第一个字节为后续字符串长度 | char[] |
C*f | 长度可变的字符串:字符串长度存储在另一个字段中 | char[] |
U*1 | 一个字节无符号整数 | unsigned char |
U*2 | 两个字节无符号整数 | unsigned short |
U*4 | 四个字节无符号整数 | unsigned long |
I*1 | 一个字节有符号整数 | char |
I*2 | 两个字节有符号整数 | short |
I*4 | 四个字节有符号整数 | long |
R*4 | 四字节浮点数 | float |
R*8 | 八字节浮点数 | long float (double) |
B6 | 固定长度的比特编码数据 | char[6] |
V*n | 在变长数据类型字段,数据的类型由第一字节中的代码指定,随后是数据本身。 | |
B*n | 长度可变的位编码字段: 第一个字节 = 后面字节的无符号计数(最多 255 字节)。第一个数据项位于数组第二个字节的最小有效位(第一个字节为计数)。 | char[] |
D*n | 变长位编码字段,前两个字节 = 后面的无符号位计数(最多 65,535 位)。第一个数据项位于数组第三个字节的最小有效位(前两个字节为计数)。最后一个字节高位未使用的比特必须为 0。 | char[] |
N*1 | 无符号整数,数据存储在一个字节中。(字节的 4 位)。第一项在低 4 位,第二项在高 4 位。如果显示的是奇数位,则字节的高位将为零。只能将整数字节写入 STDF 文件。 | char |
kxTYPE | 指定类型的数据数组。k 的值(数组中元素的个数)在记录的前一个字段中定义。例如,短无符号整数数组的定义为 kxU*2。 |