项类型定义中将中文字符串对应到Unicode码


我们知道,MicroStation CONNECT版中的项类型(ItemType)底层技术采用的是EC(Engineering Content)。EC技术是Bentley公司开发了差不多20年的核心技术。在ECSchema的定义中,ECClass和ECProperty的底层名称是不能出现中文字符的,我们看到的中文字符其实是它的显示名称或者是一个Unicode的字符串。项类型中的库对应到ECSchema,项类型中的ItemType对应到ECClass,项类型中的属性对应到ECProperty。当我们在项类型中定义一个叫做“项目类型”的属性时,通过ECX Schema Export命令可导出项类型的底层定义如下:

能够看到真正的属性名称是__x9879____x76EE____x7C7B____x578B__。每个__xXXXX__这种形式代表一个Unicode十六进制编码(x在计算机中表示十六进制的意思,取自Hex中的x)。

所以,我们在项类型表达式中如何想要引用中文名称属性时,不能直接写“项目类型”,而是要写成__x9879____x76EE____x7C7B____x578B__。好在在项类型表达式创建器中能让我们方便地去选择。详见如下文章:

项类型(ItemType)和Excel的组合使用

但最近在中国优先社区中有用户问如何在项类型表达式中引用工作集(WorkSet)中定义的属性。如果工具集中的属性名为中文时,项类型表达式创建器是没有直观的选择的(仅有Unicode编码的选择,如果有多个中文属性时就很难知道哪个对应哪个了),此时就必须知道中文字符串对应的Unicode编码。幸运的是,我们找到了如下一个网页能方便地给出中文字符串对应的Unicode编码。

www.w3cschool.cn/.../index

当我们在输入框中输入“项目类型”(没有两边的引号)后点击“中文转换Unicode”按钮就能看到对应的Unicode编码。如下图所示:

举例如下:

1、我们在工作集中定义了“日期类型”和“项目类型”两个中文名称的属性:

2、在项类型属性表达式创建器中选中Workset并输入一个英文句点后能有属性的弹出菜单,此时可以根据我们上面的描述容易知道“项目类型”对应的Unicode码。