8.21.2.2 IfcGloballyUniqueId(全局唯一标识符)
8.21.2.2.1 语义定义(Semantic definition)
IfcGloballyUniqueId 用于存储编码后的字符串标识符,该标识符用于唯一标识IFC对象。IfcGlallyUniqueId 是一个全局唯一标识符(GUID),它是自动生成的128位数字。由于所有IFC对象实例都需要此标识符,因此需要对其进行压缩以减少开销。base64字符集的编码如下所示:
1 2 3 4 5 6
0123456789012345678901234567890123456789012345678901234567890123
"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_$";
生成的字符串是一个固定22字符长度的字符串,将在IFC交换文件结构中传输。
该base64编码过程可能与常见的base64实现有所不同。具体步骤如下:
- 第一个字节编码在前两个字符中
- 剩余字节以3个为一组进行编码,占用4个字符
因此,第一个字符必须是0、1、2或3。
8.21.2.2.2 形式化表示(Formal representation)
TYPE IfcGloballyUniqueId = STRING(22) FIXED;
END_TYPE;