1、ICS 2504040L 67 圆圈中华人民共和国国家标准GBT 1665621-2008ISO 1030321:2001代替GBT 1665621 1997工业自动化系统与集成 产品数据表达与交换 第2 1部分:实现方法交换文件结构的纯正文编码Industrial automation systems and integration-Product datarepresentation and exchange-Part 2 1:Implementation methods-Clear text encoding of the exchange structrue2008-08-06发布(I
2、S0 1030321:2001,IDT)2009-03-0 1实施丰瞀髁零瓣警矬瞥霎发布中国国家标准化管理委员会“”前言1范围2规范性引用文件3术语、定义和缩略语31 GBT 152731定义的术语32 GB 13000定义的术语33 GBT 166561定义的术语34 GBT 1665611定义的术语35其他定义-36缩略语4交换文件结构基本概念和假设41 概述42符号表示法和印刷排版的约定43一致性5形式化定义51形式化表示52基本字母表定义53交换文件结构-54标记的定义55文件结构的沃思语法表示法(WSN)56标记分隔符“6标记61专用标记-62关键字63简单数据类型编码7构造数据类型
3、8头段-81头段实体82头段模式83用户定义头段实体9数据段91数据段实体实例92数据段用户定义实体实例10从EXPRESS到交换文件结构的映射101 EXPRESS数据类型的映射102 EXPRESS实体数据类型的映射103模式EXPRESS元素的映射lo4常数型EXPRESS元素的映射目 次GBT 1665621-2008ISO 10303-21:2001l12222223333333444566666加加加MM他拍硒GBT 1665621-2008ISO 10303-21:2001105规则EXPRESS元素的映射106注释11交换文件结构的打印排版表达附录A(规范性附录)存贮介质上的文
4、件表达一附录B(规范性附录)WSN表示法的约定附录C(规范性附录)信息对象注册附录D(规范性附录)基本字母表和图形字符集附录E(规范性附录)协议实现一致性声明(PICS)形式附录F(规范性附录)交换文件结构中的多重EXPRESS模式附录G(资料性附录)交换文件结构打印准则附录H(资料性附录)完整交换文件结构示例附录NA(资料性附录) ISO 10303各部分的目录“蝎拍邸耵;:档“曲舛刖 暑GBT 1665621-2008ISO 1030321:2001GBT 16656(ISO 10303)(工业自动化系统与集成产品数据表达与交换是一个由多个部分组成的标准,各部分单独出版。GBT 16656
5、的所属各部分又组成多个子系列,即:第1部分第19部分规定了描述方法;第20部分第29部分规定了实现方法;第30部分第39部分规定了一致性测试方法与框架;第40部分第59部分规定了集成通用资源;第100部分第199部分规定了集成应用资源;第200部分第299部分规定了应用协议;第300部分第399部分规定了抽象测试套件;第400部分第499部分规定了应用模块;第500部分第599部分规定了应用解释构造;第1000部分第1999部分规定了应用模块。GBT 16656工业自动化系统与集成产品数据表达与交换现已发布了以下26个部分:第1部分:概述与基本原理;第11部分:描述方法 EXPRESS语言参考
6、手册;第21部分:实现方法交换结构的纯正文编码;第31部分:一致性测试方法与框架基本概念;第32部分;一致性测试方法与框架测试实验室与客户的要求;第34部分;一致性测试方法与框架应用协议实现的抽象测试方法;第41部分:集成通用资源产品描述和支持原理;第42部分:集成通用资源几何与拓扑表达;第43部分:集成通用资源表达结构;第44部分:集成通用资源产品结构配置;第45部分:集成通用资源物料;第46部分:集成通用资源可视化显示;第47部分:集成通用资源形变公差;第49部分:集成通用资源工艺结构与特性;第101部分:集成应用资源绘图;第105部分:集成应用资源运动学;第20l部分:应用协议显式绘图;
7、第202部分:应用协议相关绘图;第203部分:应用协议配置控制设计;第501部分:应用解释构造基于边的线框;第502部分:应用解释构造基于壳的线框;第503部分:应用解释构造几何边界的二维线框;第513部分:应用解释构造基本边界表达;第520部分:应用解释构造相关绘图元素;第1001部分:应用模块外观赋值;GBT 1665621-2008ISO 10303-21:2001第1006部分:应用模块基础表达。本部分是GBT 16656的第2l部分。本部分等同采用了ISO 10303 21:2001工业自动化系统与集成产品数据表达与交换第21部分:实现方法交换结构的纯正文编码(英文版),技术内容和编
8、写格式上与IsO 1030321:2001保持一致。本部分代替GBT 1665621-1997(C工业自动化系统与集成产品数据表达与交换第21部分:实现方法交换结构的纯正文编码。与GBT 16656211998相比主要变化如下:交换结构目前可以包含多个数据段;交换结构的头段目前可以为在数据段中编码的实体实例字符串属性标识缺省语言;交换结构的头段目前可以标识用于描述语义环境的信息,数据段中编码的实体实例可以在该语义环境中应用;如果短名可用,目前可以使用短名编码枚举值。本部分的附录A、附录B、附录c、附录D、附录E和附录F为规范性附录。本部分的附录G、附录H和附录NA为资料性附录。本部分由中国机械
9、工业联合会提出。本部分由全国工业自动化系统与集成标准化技术委员会(sAcTC 159)归1:3。本部分起草单位:中国标准化研究院。本部分主要起草人:李文武、刘守华、詹俊峰。本部分所代替标准的历次版本发布情况为:GBT 1665621 1997GBT 1665621-2008ISO 10303-21:2001工业自动化系统与集成产品数据表达与交换第21部分:实现方法交换文件结构的纯正文编码1范围GBT 16656的本部分规定了产品数据用EXPRESS语言(GBT 1665611)为其规定了概念模型的纯正文编码交换文件结构的格式。该文件格式适用于计算机系统间产品数据的传输。本部分规定了从EXPRE
10、SS语言到交换结构语言语法的映射。任何EXPRESS图解都能映射到交换结构系统。2规范性引用文件下列文件中的条款通过GBT 16656的本部分的引用而成为本部分的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本部分,然而,鼓励根据本部分达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本部分。GBT 48802语种名称代码第2部分:3字母代码(GBT 48802 2000,eqv ISO 639-2:1998)GBT 7408数据元和交换格式信息交换 日期和时间表示法(GBT 7408-2005,ISO 8601:20
11、00,IDT)GB 130001信息技术通用多八位编码字符集(UCS)第一部分:体系结构与基本多文种平面(GB 1300011993,idt ISClIEC 10646 1:1993)GBT152731 信息处理 八位单字节编码图形字符集 第一部分:拉丁字母一(GBT 152731 1994,idt ISO 88591:1987)GBT152732 信息处理 八位单字节编码图形字符集 第二部分:拉丁字母二(GBT 152732 1 995,idt ISO 8859 2:1987)GBT 152733 信息处理 八位单字节编码图形字符集 第三部分:拉丁字母三(GBT 152733 1995,id
12、t ISO 8859-3:1988)GBT 152734 信息处理 八位单字节编码图形字符集 第四部分:拉丁字母四(GBT 1 52734 1 995,idt ISO 8859 4:1988)GBT 152737 信息处理 八位单字节编码图形字符集 第七部分:拉丁希腊字母(GBT 152737-1996,idt ISO 88597:1987)GBT 162621 信息技术 抽象语法记法一(ASN1) 第1部分:基本记法规范(GBT 1626212006,ISOIEC 88241:2002,IDT)GBT 166561 工业自动化系统与集成 产品数据表达与交换 第1部分:综述和基本原理(GBT
13、166561 2008,ISO 10303 1:1 994,MOD)ISO 3788:1990信息处理9磁道、127 mm(05英寸)宽126 ftpram(3200 ftpi) 63 cpmm(1600 cpi)相位编码信息交换磁带Is0 8859 5:1 987 信息处理八位单字节编码图形字符集第5部分:拉丁西里尔字母ISO 8859 6:1987信息处理八位单字节编码图形字符集第6部分:拉丁阿拉伯字母ISO 8859 8:1987信息处理八位单字节编码图形字符集第8部分:拉丁希伯来字母1GBT 16656212008ISo 10303-21:2001ISO 88599:1987信息处理八
14、位单字节编码图形字符集第9部分:拉丁字母五ISO 10303 11:1994工业自动化系统与集成产品数据表达与交换第11部分:描述方法:EXPRESS语言参考手册ISO 1030322:1998工业自动化系统与集成产品数据表达与交换第22部分:实现方法:标准数据访问接口ISO 10646:2003信息技术通用多八位编码字符集(UCS)3术语、定义和缩略语31 GBT 152731定义的术语GBT 1 52731定义的下列术语适用于本部分:字节;字符;图形字符。32 GB 13000定义的术语GB 13000定义的下列术语适用于本部分:基本多语种平面。33 GBT 166561定义的术语GBT
15、166561定义的下列术语适用于本部分:应用协议。34 GBT 16656”定义的术语GBT 1 665611定义的下列术语适用于本部分:复杂实体实例;数据类型;一一实体;局部复杂实体实例;简单实体实例;标记。35其他定义下列术语和定义适用于本部分。351基本字母表basic alphabetGBT 1 52731中从G(0200)到O(0714)的字符集。352纯正文编码clear text encoding采用基本字母表中的一系列字符组成的信息编码。353控制命令control directive基本字母表中的字符序列。354关键字keyword在交换文件结构中标识实体或定义类型的特定字符
16、序列。2355段 section表示相同作用的数据集。356顺序文件sequential file仅能用顺序方法访问的文件。357标记分隔符token separator分隔任何两个标记的一个或多个8位字节的序列。36缩略语为了达到本部分的目的,使用了以下缩略语:BMP:基本多语种平面(Basic multilingual plane);WSN:沃思语法表示法(Wirth Syntax Notation)。4 交换文件结构基本概念和假设GBT 1665621-2008IS0 10303-21:200141概述为了便于用软件进行分析,用无二义性的、上下文无关的语法描述交换文件结构。该语法的表示采
17、用附录B中的沃思语法表示法。在交换文件结构中产品数据的形式被规定为采用从EXPRESS语言到交换文件结构语法的映射。42符号表示法和印刷排版的约定在本部分中所使用的双引号不是交换文件结构中出现的文字的一部分而仅仅作为文字的分隔。这一说明适用于文字中使用了双引号的所有位置。表2、表3和表4对于这一规则是一个例外,表里所用的双引号组成WSN规则的一部分。在GBT 15273中,每一个字符被分配一个标识名,当该名字被用于本部分中的时候,它就被排为斜体字以区别于一般文字。这样逗号用于表示“,”,下划线表示“一”,以及大写字母A表示“A”。在本部分的示例中,注释是在需要说明的位置由序列引入的。43一致性
18、本部分规定两级一致性:交换文件结构的语法一致性:如果一个交换文件结构满足本部分的要求,则它与GBT 1665621具有一致性;交换文件结构的模式一致性:如果在一个交换文件结构中表示的实例满足在该交换文件结构头段中列出模式的所有要求和约束,而且满足在本部分中第9章和10章中定义的映射要求,则在交换文件结构中表示的实例与这些模式具有一致性。注:当交换文件结构包含基于不同EXPRESS模式的多个数据段,附录F提供了评价模式一致性的方法。语法一致性是模式一致性的必要条件。在本部分中定义两类语法一致性,这取决于对复杂实体实例的编码所选择的方法(见1025)。一个宣称与本部分具有语法一致性的实现应该在读或
19、写文件或两者兼有时证明它(至少)具有两种一致性级别之一的语法一致性。一个宣称与本部分具有模式一致性的实现应该在读或写文件或两者兼有时证明其模式和语法的一致性。5形式化定义51形式化表示本部分采用沃思语法表示法(WSN)以形式化表示规定交换文件结构语法。附录B描述了WSN。3GBT 1665621-2008ISO 10303-21:200152基本字母表定义交换文件结构字母表的定义是GBT 152731中从G(0200)到G(0714)的字符。本字母表在交换文件结构中是由具有十进制值32到126的八位字节表示的。表1把基本字母表分成了子集。G(xy)是对GBT 152731编码表中的位置(16乘
20、以x)+Y上的字符的一种表示法。注:表D 1给出在GBT152731中对应的8位字节和它们的图形表示。表1 WSN定义的基本字母表子集53交换文件结构交换文件结构采用纯正文编码的顺序文件。交换文件结构应该包括两部分:头段和一个或多个数据段。头段提供交换文件结构自身的相关数据。头段结构在第8章中定义。数据段提供要被传送的数据。数据段结构在第9章中定义。用表3中的WSN定义交换文件结构。交换文件结构是一个八位字节序列,它们是基本字母表的图形字符编码。图形字符组合称为标记(token)的可识别序列。标记可由标记分隔符分开。交换文件结构可以看作是标记和标记分隔符的序列。54标记的定义交换文件结构中使用
21、的标记(token)在表2中用WSN定义。4GBT 1665621-2008IS0 1030321:2001表2标记定义的WSNKEYWORD =USERDEFINED KEYWORD STANDARDKEYWORDUSERDEFINED_KEYWORD 一”!”UPPER UPPERDIGITSTANDARD KEYW()RD UPPERUPPER DIGIT,SIGN =”+” ”一”INTEGER 一SIGNDIGITDIGITREAI, 一SIGNDIGITDIGIT)“DIGITrE”SIGNDlGIT(DIGITNON Q CHAR sPEcIAL DIGlT SPACE LOWR
22、 UPPERsTRING 一”“NONQCHARAPOSTROPHE APOSTROPHEREVERSED_SOLIDUS REVERSED_SOLIDUSCoNTROLDIRECTIVE”+ENTITYjNSTANCE-NAME 一“#”DIGITDIGITENUMERATIoN 一“UPPERUPPER|DIGIT)”HEx 一”0”J”l” ”2” ”3” ”4” ”5” ”6”;“7“BINARY”8”】”9” ”A”一。,“0”l”1”C”l”D“ ”E”J”F”3”)|HEX)”“”“55文件结构的沃思语法表示法(WSN)交换文件结构的语法在表3中定义。表3引用表2中定义的标记。语
23、法和EXPRESS模式之间的关系在第10章中定义。表3交换文件结构的WSNEXCHANGEFI。EHEADER SECTIoNHEADEDENTITly_IISTHEADERENTITYPARAMETERLISTPARAMETERTYPEDPARAMETERUNTYPEDPARAMETER一”IS()一1030321:“HEADERSECTl0N DATAsEcTIoN DATASECTION)“END ISo 1030321;”一”HEADER:“HEADEILENTITY HEADERENTITY HEADERENTITYHEADER_ENTITY-I,IST“ENDSEC:”一HEADE
24、RENTITYHEADERENTlTY一KEYwoRD”(”-PARAMETER_LIST”)”;“一PARAMETER ”,”PARAMETER一TYPEI)_PARAMETER】UNTYPED PARAMETER OMITTEnPARAMETERKEYWORD”(”PARAMETER”)”一”S“f INTEGER REAL STRINGENTITY 1NSTANCE NAME ENUMERATloN BINARY LISTOMITTEDPARAMETER一”*”LIST 一”(”r PARAMETER”,”PARAMETER”)”DATASECTION 一”DATA”(”PARAMETE
25、R LIST”)”;”ENI、ITY一NSTANCEj,IST”ENDSEC;”ENTITY-INSTANCEI,IST 一ENTlTY一1NSTANCEENTITYINSTANCE=SIMPIE ENTITYINSTANCE COMPLEXENTITY INSTANCESIMPLE_ENTITY-INSTANCEENTITYINSTANCE-NAME”一”SIMPLE_RECORD”;”COMP,EX ENTITY INSTANCEENTlTlr INSTANCENAME”=”SUBSUPERRECORD”SIMPI。E-RECORDKEYwoRD”(”PARAMETER I。IST”)”S
26、UBSUPERRECORD一”(”SIMPLERECORD-I1ST”)”SIMPI。E-RECORD LISTSIMPLERECORDS1MPI。E REC()RD5GBT 1665621-2008ISO 1030321:200156标记分隔符标记分隔符是分隔两个标记的元素。标记分隔符有空白、显式打印控制命令和注释。标记分隔符可以出现在表3产品的终端或非终端中间。可以出现一个标记分隔符的位置也可以出现若干标记分隔符。除了可以在二进制和字符串中出现的显式打印控制命令外,标记里面不允许分隔符出现。第11章定义了打印控制命令。注:空格是基本字母表(5 2中描述的)中唯一的空白字符。通过附录A,交换
27、文件结构允许行分隔符,例如换行或回车,但不属于基本字母表,并且附录A要求在处理交换文件结构时可以忽略。因此,结构(包括标记)中任何地方可以出现行中断。注释必须编码为斜线星号“*”,后跟若干基本字母表的字符,并且由星号斜线“*”结束。第一个出现的斜线星号之后再出现斜线星号就不再有意义,即注释是不能嵌套的。在注释里出现的任何图形字符对交换文件结构而言是无意义的,这些字符仅供人们阅读。6标记在交换文件结构中,一个标记(token)是一个专用标记、关键字或是一个简单数据类型编码。61专用标记专用标记“GBT 1665621;”应该用于打开交换文件结构,专用标记“END GBT 1665621;”应该用
28、于关闭交换文件结构。专用标记“HEADER;”应该用于打开交换文件结构的头段,专用标记“ENDSEC;”应该用于关闭交换文件结构的头段。专用标记“DATA;”应该用于打开交换文件结构的数据段,专用标记“ENDSEC;”应该用于关闭交换文件结构的数据段。专用标记“$”在交换文件结构中用于表达没有给出值的对象。专用标记星号(“*”)在交换文件结构中用于表达没有给出值的对象,但是该值能够根据EXPRESS模式给出的规则从其他值导出(见1026)。专用标记分号(“;”)、圆括号(“(”,“)”)、逗号(“,”)和斜线(“”)在交换文件结构中用作标点符号。62关键字关键字是指交换文件中的实体或定义类型的
29、图形字符序列。关键字应由大写字母、数字、下划线和可能出现的惊叹号组成。惊叹号的出现至多一次,并且仅作为关键字中的第一个字符。关键字可以是模式定义或用户自定义关键字。不用惊叹号开头的关键字是模式定义关键字。用惊叹号开头的关键字是用户自定义关键字。用户定义关键字对于管理交换文件结构的EXPRESS模式中的命名类型(一个实体类型或定义类型)来说是一个标识符。用户自定义关键字的含意由使用交换文件结构的各方进行约定。63简单数据类型编码在交换文件结构中使用的简单数据类型编码有六种:整数、实数、字符串、实体实例名、枚举和二进制数。631整数整数应该是一个或多个数字的编码序列,如在表2中列出的,整数前面的正
30、号“+”或负号“一”是可选的。整数以十进制表示。如果整数不带符号,则看作是正数。示例;整数的正确表示 意义1 6 正16+12 正12349 负349012 正12OO 零6GBT 1665621-2008ISO 10303-21 12001整数的错误表示 问题26 54 包含空格32o 包含小数点+12 正号与数字之间含空格632实数表2列出了实数的编码。该编码含有一个十进制尾数,后面为一可选的十进制指数。十进制尾数含有可选的正号“+”或负号“ ”,后跟一个或多个数字的序列和圆点,圆点后是零个或多个数字的序列。十进制指数含有字符E,后跟可选的正号“+”或负号“一”,以及一个或多个数字。注:本
31、部分涉及精度概念。在有精度要求时,发送方和接受方应有一个约定。当需要有一个精度的意义作为一个实体数据类型描述的一部分时,该意义应包括在EXPRESS模式的实体数据类型定义中。示例:实数的正确表示 意义+00E0 o oo0E0 0 015 1532178E+02 3217 8025E8 2500万0E25 02 250 5 0实数的错误表示 问题12E3 指数中不允许带小数点1E05 尾数中要求有小数点1,00000 不允许有逗号3E 指数中要求有数字5 小数点前至少有一位数字1 尾数中要求有小数点633字符串字符串(String)应该编码为一个单引号“后跟零个或多个八位字节,然后以一个单引号
32、“”结束。空字符串(串长为零)应该编码为两个单引号排在一起“”。在字符串中的一个单引号用两个并列单引号来编码。一个单独的反斜线“”应该编码为两个反斜线“”。在字符串内允许的八位字节是GBT 1 52731定义的图形字符基本字母表中从32到126(包含32和126)的十进制数。见表4。表4字符串控制命令coNTROLDIRECTIvE=PAGE ALPHABET ExTENDED2EXTENDED4 ARBITRARYPAGEREVERSE SoIIDUS”S”REVERSE-SOI。IDUS CHARACTERALPHABET REVERSESoI,IDUS”P”UPPER REVERSESO
33、LIDUSEXTENDED2 一REVERSESoI。IDUS”X2” REVERSESOLIDUSHEXTwOHEXTWO)ENDEXTENDEDEXTENDED4END EXTENDEDARBITRARYHEXONEHEXTWOHEXFOURREVERSESoI,IDUS”X4” REVERSESOIIDUSHEXFOURHEX FOURENDLEXTENDEDREVERSE SoI,IDUS”X0“ REVERSESoI。IDUS一REVERSESOLIDUS”X” REVERSESoLIDUS HEXONEHEX HEX一HEX oNE HEX oNE一HEX TWo HEX TWo注
34、:表D1给出了八位字节和GBT 15273 1中对应的图形表示。双引号在字符串中出现的时候不需要两个并列。它在表1中出现两个并列是因为它是WSN的元字符(见附录B)。7GBT 1665621-2008IS0 10303-21:2001附加字符应该采用6331和6332中定义的十六进制数字(见表2的HEX)进行编码。WSN表示的编码字符串控制命令在表4中给出。6331 字符串中的GBT 15273完整字母表编码在GBT 15273中,G(xy)表示x列Y行的字符,即在代码表中的代码值为(16乘以x)+Y。GBT 1 5273的每一部分都包括基本字母表中(见52)从位置G(0200)到G(0714
35、)的部分。GBT 1 5273各个部分的不同是字符集扩展部分的符号,从位置G(10oo)到G(1 514)。为了在字符串中包括扩展字符集的字符需要采用扩展命令。PAGE控制命令反斜线大写字母s反斜线(“s”)CHARACTER(见表4)被用在字符串中让基本字母表中的一个字符来表达扩展字母表中对应位置的一个字符。PAGE控制命令在字符串中应该被解释为一个字符G(x+8)y),其中G(xy)是紧跟在“s”之后的基本字母表字符。这就是说,如果基本字母表字符具有代码值v,它就应该被解释为具有代码值v+128的字符。控制命令反斜线大写字母P UPPER反斜线应该用于指出(仅仅对于该字符串)把子序列反斜线
36、大写字母s反斜线命令解释为由UPPER的值所指定的引用GBT 1 5273一个部分(分标准)所定义的扩展字母表。所用的大写字母应该是以下字母中的一个:“A”、B、C、D、E、F、“G”、“H”、“I”。在这种情况下,大写字母A是指GBT 152731;大写字母B是指GBT 152732等等。如果在一个字符串中没有出现该控制命令,则假设的值应该是A,即扩展字母表应该是在GBT 152731中规定的。示例:存储的字串 有效的内容 注释CAT CATDon 7t Don 7t长度为零的字串SDrger 7 fi,rger7hSttelh6tel7PEs*Susb 西里尔,Nyet6332字符串中GB
37、 13000字符的编码ISO 10303一il的816规定了GB 13000中的任意字符都可出现在一个字串中。本部分规定了允许GB 13000字符编码的三种控制命令。GB 13000定义了在全编码空间中使用四个八位表达任意字符的规范形式。这些字符分别规定了组、平面、行和单元。此外,GB 13000定义了基本多语种平面(BMP),用以表示全编码空间的00平面Oo组。BMP中的字符用两个八位字节表示,用以规定行和单元。注:基本多语种平面包括的字符是一般用于字母、音节和独特标志字形以及各种符号和数字。控制命令反斜线大写字母x数字2反斜线“x2”应该用于确定后面的多重4个十六进制字符序列,它应该被解释
38、为GB 13000的BMP双八位字符表达编码。交换文件结构中的字符串编码应该如下:一一每个要被编码的GB 13000表达字符应该被转换为GB 13000中规定的双八位字节;两个所得八位字节的每一个应被编码为基本字母表中对应十六进制数字图形表达的两个十六进制字符。示例1:拉丁大写字母B由GB 13000的表1要被转换为十六进制值“0042”。对应该值的十六进制数字为0,0,4和2。该编码在交换文件结构中使用包括4个字符0042的基本字母。控制命令反斜线大写字母x数字4反斜线“x4”应该用于确定后面的多重八个十六进制字符序列,它应被解释为GB 13000全编码空间四个八位字符表达编码。交换文件结构
39、中的字符串编码应该如下:每个要被编码的GB 13000表达字符应该被转换为GB 13000中规定的四个八位字节;8GBT 1665621-2008ISO 1030321:2001四个所得八位字节的每一个应被编码为基本字母表中对应十六进制数字图形表达的两个十六进制字符。示例2:拉丁大写字母B由GB 13000的表1要被转换为十六进制值“00000042”。对应该值的十六进制数字为o,o,o,o,o,0,4和2。该编码在交换文件结构中使用包括8个字符00000042的基本字母。控制命令反斜线大写字母X数字0反斜线“xo”应该用于在一个字符串中确定GB 13000字符编码的结束,并且返回基本字母表的
40、直接编码。6333字符串中单八位字节编码一个具有值为0到255的八位字节可以在一个字符串中编码。为了显示其后两个十六进制的字符应解释为一个表达GB 13000中BMP第零行的字符单元八位字节,字符串中应使用控制命令反斜线大写字母x反斜线“X”。注:GB 13000和GBT 15273 1定义的字符与本范围相同。示例:存储的字串 有效的内容 注释+seeXA7 4 1+ see 41line onexOAline tWOline one 约束插入新线Linetwo6334最大字符串长度在交换文件结构中存储的一个字符串的最大长度为32769个八位字节,包括开始和结束的单引号。如果存储的字符串中嵌入
41、了双引号、反斜线、单引号、打印控制命令(见11章)以及对应6331、6332、6333的字符编码,则字符串有效内容的最大长度将要少于32767个图形字符。有效内容是在这些编码约定解码之后的图形字符序列。634实体实例名一个实体实例名应该编码为数字标号“#”、后跟不带符号的整数。该整数应该包括一个或多个数字的任意组合,至少有一个数字且不为零。实体实例名中的前导零是没有意义的。表2以ENTITYINSTANCE NAME的形式给出实体实例名的WSN。示例:有效的名称表达 意义#12 用标识符12给实体实例命名或对其引用#023 用标识符23给实体实例命名或对其引用无效的名称表达 问题#+23 含7
42、+7号#00 1 含小数点74 无数字标号#439A6 含字母字符如果实体实例名出现在一个实体实例的属性表中,则它们用于引用其他实体实例。向前或向后引用都是允许的。635枚举值枚举值应该编码为以大写字母开头的大写字母和数字序列且由圆点定界。给定枚举值的意义是由EXPRESS模式和它的枚举值类型说明的相关定义来确定的。示例:有效的枚举表达 意义STEEI。 指出的值为STEEl。无效的枚举表达 问题RED 缺少结尾处的圆点123 没有以字母开头9GBT 1665621-2008IS0 10303-21:2001636二进制数二进制数是二进制位(0或1)的序列。一个二进制数应该通过以下过程确定其编
43、码:统计二进制数的位数,称为结果p;确定一个数n,0n3,并且使k-p+n为四的整数倍;在二进制数的左边填上n个0位,把这串二进制数分为四位(4_bit)一组;在该序列之前加上n的四位表达;如果4位(4一bit)组的相应十进制数小于等于9,对该十进制值加48产生一个八位(8-bit)字节;如果4位(4一bit)组的相应十进制数大于9,对该十进制值加55产生一个八位(8一bit)字节;注:这是二进制到十六进制的转换。二进制的编码包括K4+1个十六进制数字,第一个数字是n,后面是表达该二进制的十六进制数字;用双引号(“)把十六进制字符串括起来。示例:二进制值空(null或empty)0l11101
44、1100100101010表达”0”30”31”23B“”092A”7构造数据类型在交换文件结构中出现的构造数据类型只有表3中定义的LIST。一个LIST是若干PARAMETER的序列(可以为空),其中每一个可以是:简单类型编码,如63中所述,或专用标记“$”,或TYPEDLPARAMETER,表示一个选择类型的实例(见1018),或一个LIST,表示一个(嵌入的)结构类型的实例。一个给定的LIST可以包含多个上面的形式。在交换文件结构中,LIST开始于左圆括号“(”,结束于右圆括号“)”。实例用逗号分隔。LIST可以有任意深度的嵌套。示例:构造数据类型 表达整数表 (o,1,2,3,7,2,
45、4)字符串表 (CAT+,HELLO 4)表中的实数表 (o 0,10,20),(30,4 0,5O)表中的实数表 (0 0,l 0,2 o),()在最后一个实数表中,嵌入的第二个表为空。8头段头段包含了一些可应用于整个交换文件结构有关的信息。在每一个交换文件结构中头段必须出现。该段应该以专用标记“HEADER”开始,并且以专用标记“ENDSEC”结束。注:附录H提供了一个交换文件结构中头段的例子。81头段实体在每一个交换文件结构的头段应包括下述每一个实体的一个实例:filediscription,filename和fileschema,并且应该按照这一顺序出现。filepopulation,sectionlanguage和sectioncontext的实例10GBT 1665621-2008ISO 1030321:2001可以出现在fileschema之后。如果有用户定义头段实体实例,它们应该出现在头段实体的后面。头段实体实例的语法在表3中用WSN给出。每个实体名应该映射到HEADERENTITY的KEYWORD。第10章对于这些实体实例属性值提供从简单和集合数据类型到PARAMETERLIST的映射。8