首页 > 国家标准(GB) > GB/T 16263-1996 信息处理系统 开放系统互连 抽象语法记法--(ASN.1)基本编码规则规范
GB/T 16263-1996

基本信息

标准号: GB/T 16263-1996

中文名称:信息处理系统 开放系统互连 抽象语法记法--(ASN.1)基本编码规则规范

标准类别:国家标准(GB)

标准状态:已作废

发布日期:1996-03-02

实施日期:1996-10-01

作废日期:2006-07-01

出版语种:简体中文

下载格式:.rar.pdf

下载大小:649209

标准分类号

标准ICS号:信息技术、办公机械设备>>35.100开放系统互连(OSI)

中标分类号:电子元器件与信息技术>>信息处理技术>>L79计算机开放与系统互连

关联标准

替代情况:被GB/T 16263.1-2006代替

采标情况:ISO 8825:1990

出版信息

出版社:中国标准出版社

书号:155066.1-13567

页数:平装16开, 页数:21, 字数:36千字

标准价格:14.0 元

出版日期:2004-08-21

相关单位信息

复审日期:2004-10-14

起草单位:中国科学院软件研究所

归口单位:全国信息技术标准化技术委员会

发布部门:国家技术监督局

主管部门:国家标准化管理委员会

标准简介

本标准规定了一组基本编码规则,用来产生由GB/T 16262记法定义的类型的值的传送语法。基本编码规则也用于对传送语法解码,以识别被传送数据值。基本编码规则在通信期间使用。 GB/T 16263-1996 信息处理系统 开放系统互连 抽象语法记法--(ASN.1)基本编码规则规范 GB/T16263-1996 标准下载解压密码:www.bzxz.net

标准图片预览






标准内容

中华人民共和国国家标准
、开放系统互连
信息处理系统
抽象语法记法一一(ASN.1)
基本编码规则规范
Information processing system-Open systems interconnectionSpecification of basic encoding rulesfor abstract syntax notation one(ASN.1)
GB/T 16263—1996
ISO 8825:1990
本标准等同采用国际标准ISO8825一1990《信息处理系统开放系统互连抽象语法记法-(ASN.1)基本编码规则规范》。
GB/T16262(抽象语法记法一规范)规定了定义抽象语法的记法,使应用层标准能使用该记法来定义需要用表示服务传送的信息的类型。它还规定了已定义类型值规范的记法。本标准定义一组编码规则,它可适用于GB/T16262中规定的记法定义类型的值。应用这些编码规则产生这些值的传送语法。这里描述的编码规则规范同时适用于译码处理。GB/T16262记法定义的类型值用的编码规则可以有多种集合。本标准定义的一组编码规则,称为基本编码规则。
本标推与CCITTX.209(1988)建议的相应部分在技术上是相容的。附录A(参考件)给出一些应用编码规则例子。附录B(参考件)总结了在本标准中所作的客体标识符值的赋值。附录C(参考件)给出了对实数编码应用规则的例子。1 主题内容与适用范围
本标准规定了-组基本编码规则,用来产生由GB/T16262记法定义的类型的值的传送语法。基本编码规则也用于对传送语法解码,以识别被传送数据值。基本编码规则在通信期间使用(在请求表示上下文时由表示服务提供者使用)。2引用标准
GB2311信息处理七位和八位编码字符集代码扩充技术GB9387信息处理系统开放系统互连基本参考模型GB12054数据处理转义序列的登记规程GB/T15696信息处理系统开放系统互连面向连接的表示协议规范GB/T16262—1996信息处理系统开放系统互连抽象语法记法一(ASN.1)规范国家技术监督局1996-03-22批准1996-10-01实施
GB/T 16263---1996
信息处理信息交换用字符串中数字值的表示法ISO6093
CCITT X.209(1988)
抽象语法记法1(ASN.1)的基本编码规则规范3定义
本标准使用GB9387,GB/T16262中的定义以及下列定义。3.1 动态--致性 dynamic conformance对实现要求的陈述,这个实现依据本标准确定的通信实例的行为。3.2 静态-致性 static conformance有效实现本标准定义的某些特性时应满足的要求的陈述。3.3数据值datavalue
某个类型的值说明的信息;类型和值用ASN.1定义。3.4(数据值)编码encoding(of a data value)用来表示数据值的八位位组的完整序列。注:某些CCITT建议对这个八位位组序列使用称为“数据元素”的术语,但因为其他标准用它指“数据值”,本标准不用此术语。
3.5标识符八位位组
identifier octets
数据值编码的一一部分,用来标识值的类型。3.6长度八位位组length octets数据值编码中标识符八位位组后的一部分,用来确定编码的结束。3.7内容结束八位位组end-of-contents octets数据值编码尾部的一部分,用来确定编码的结束。注:不是所有的编码都要求有内容结束八位位组。3.8内容八位位组contents octets数据值编码中的一部分,表示与同类型中其他值相区别的特定值。3.9 简单编码 primitive encoding一个数据值编码,其内容八位位组直接表示这个数据值。3.10构造编码constructed encoding一个数据值编码,其内容八位位组是一个或多个其他数据值的完整编码。3.11 发送者 sender
实现传送数据值编码的一方。
3.12接收者receriven
为了识别编码的数据值,实现将发送者产生的八位位组解码的一方。4缩略词和记法
4.1缩略词
ASN.1抽象语法记法一
4.2记法
4.2.1本标准引用GB/T16262定义的记法。4.2.2本标准规定了编码中每个八位位组的值,使用术语“最高有效位”和“最低有效位”。注:低层标准中使用同一记法来定义串行线中位传输的次序,或并行通道中数据位的分配。4.2.3在本标准内,八位位组中的二进制位编号从8到1,第8位为“最高有效位”,第1位为“最低有效位”。
GB/T 16263—1996
5.1动态致性在第6章至第21章中规定。5.2静态一致性由应用基本编码规则的标准规定,5.3允许发送者按本标准选择替换编码,致性的接受者应支持所有的替换形式。注:这种替换编码的例子在6.3.2和表2中。6编码的一般规则
6.1编码结构
6.1.1数据值编码应由下列次序的四种成分组成:a)标识符八位位组(见6.2);b)长度八位位组(见6.3);
c)内容八位位组(见6.4);
d)内容结束八位位组(见6.5)。6.1.2除非长度八位位组的值需要,内容结束八位位组不应出现(见6.3)。6.1.3图1说明编码的结构(简单的或构造的),图2说明替换结构的编码。标识符八位位组
标识符八位位组
6.2标识符八位位组
长度八位位组
内容八位位组
中的八位位组数
(见6.3.2)
长度八位位组
编码的结构
内容八位位组
内容八位位组
指示内容八位位组由
内容结束八位位组结束
(见6.3.4)
图2替换结构的编码
内容结束八位位组
指示内容八位位组
中没有更多的编码
6.2.1标识符八位位组应对数据值所属类型的ASN.1标识(类和号)编码。6.2.2对于标记是从0到30(包括0和30)范围内的数,标识符八位位组由如下的单个八位位组编码构成:
a)编码的第8位和第7位表示标记所属类。如表1中的规定,187
GB/T 16263—1996
b)第6位是0或按6.2.5条规则定为1;c)第5位至第1位作为二进制整数是标记号的编码,第5位是最高有效位。表1标记类的编码
上下文规定
第8位
第7位
6.2.3其标记号在0到30(包括0和30)范围内的类型的标识符八位位组的形式由图3说明。6.2.4对编号大于或等于31的标记,标识符八位位组的构成是一个前导八位位组及后随的一个或多个后继八位位组。
6.2.4.1前导八位位组按如下方式编码:a)编码的第8位和第7位是表示如表1列出的标记类;b)第6位是0或按6.2.5规定为1;c)第5位至第1位的编码是111112。标识符八位位组
0一简单的
1一构造的
标记号
图3标识符八位位组(小标记号)6.2.4.2后继八位位组是按如下规则得到的标记号编码:a)除了最末标识符八位位组外,每个八位位组的第8位置为1;b)第1个后继八位位组的第7位至第1位,后随第2个后继八位位组的第7位至第1位,依次后随每个更后面的八位位组的第7位至第1位,直到并包括标识符八位位组中的最后一个后继八位位组,应是等于标记号的无符号二进制整数的编码,以第1个后继八位位组的第7位作为最高有效位。c)第1个后继八位位组不能每位都为数字0。6.2.4.3其标记号大于30的类型的标识符八位位组的形式由图4说明。前导八位位组
【P/c1111
第二个八位位组
后继八位位组
最末八位位组
++—++
二标记号
图4标识符八位位组(大标记序号)GB/T 16263—1996
6.2.5若编码是简单的,则第6位置0,若编码是构造的,则第6位置1。注:对每个类型,由以后各条规定其编码是简单的或是构造的。6.2.6(GB/T16262规定,用\CHOICE”关键字定义的类型的标记,取得选择的数据值所属的类型标记的值。
6.2.7GB/T16262规定,用“ANY”定义的类型的标记是不确定的。“ANY”类型根据具体使用确定为某种ASN.1类型然后其值的完整编码等于所赋类型的值的编码(包括标识符八位位组)。6.3长度八位位组
6.3.1规定两种长度八位位组形式,它们是:a)确定形式(见6.3.3);
b)非确定形式(见6.3.4)。
6.3.2发送者应该
a)若编码是简单的,则用确定形式(见6.3.3)。b)若编码是构造的且都是立即可用的,则用确定形式(见6.3.3)或非确定形式(见6.3.4)由发送者选择。
c)若是构造编码且不都是立即可用的,则用非确定形式(见6.3.4)。6.3.3对于确定形式,长度八位位组由一个或多个八位位组组成,并由发送者选择,使用短形式(见6.3.3.1)或长形式(见6.3.3.2)表示内容八位位组中的八位位组数。注:当内容八位位组中的八位位组数小于或等于127时,仅使用短形式。6.3.3.1在短形式中,长度八位位组由单个八位位组组成,其中第8位为0,第7至第1位是内容八位位组中八位位组数的编码(可能是0),整体是个无符号二进制整数,以第7位为最高有效位。例:L38的编码为001001102。
6.3.3.2在长形式中,长度八位位组由一个初始八位位组和一个或多个后继八位位组组成。初始八位位组如下编码:
a)第8位为1;
b)第7位至第1位作为无符号二进制整数,是长度八位位组中后继八位位组数的编码,以第?位为最高有效位:
c)不使用值111111112。
注:引入这个限制是为了将来的可能扩展。第1个后继八位位组的第8位至第1位,后随第2个后继八位位组的第8位至第1位,依次后随更后面八位位组的第8位至第1位,直至并包含最未后继八位位组,是等于内容八位位组中八位位组数的无符号二进制整数的编码,以第1个后继八位位组的第8位为最高有效位。例:1,=201编码为100000012110010012注;在长形式中,是否用比最少必需数更多的长度八位位组由发送者选择,6.3.4对非确定形式,长度八位位组指示内容八位位组至内容结束八位位组结束(见6.5),并由单个八位位组组成。
6.3.4.1单个八位位组置第8位为1,第7位至第1位置为0。6.3.4.2若使用该长度形式,则在内容八位位组之后应出现内容结束八位位组(见6.5)。6.4内容八位位组
内容八位位组由零个或更多的八位位组组成,并按下列各条的规定对数据值编码。注:内容八位位组依赖于数据值的类型;以后各条遵从ASN.1中一样的类型定义序列。6.5内容结束八位位组
若长度按6.3.4的规定编码,则出现内容结束八位位组,否则不出现。内容结束八位位组由两个零八位位组组成。189
GB/T16263—1996
注:内容结束八位位组可被认为是值的编码,其标记是通用类,其形式是简单的,标记号是零,内容缺省,因此:内容结束八位位组
7布尔值的编码
7.1布尔值的编码应是简单的。内容八位位组由单个八位位组组成。7.2若布尔值是FALSE,则八位位组是零。7.2.1若布尔值是TRUE,八位位组是任意非零值,由发送者选择。例:若是布尔类型,TRUE值被编码为:布尔
8整数值的编码
8.1整数值的编码应是简单的,内容八位位组由一个或多个八位位组组成。8.2若整数值编码的内容八位位组由多于一个八位位组组成,则第1个八位位组的位和第2个八位位组的第8位;
a)不应全为l;
b)不应全为0。
注:这些规则确保整数值总是按最少八位位组数编码。8.3内容八位位组是等于整数值的二值补码的二进制数,组成是由第1个八位位组的第8至第1位,后随第2个八位位组的第8位至第1位,后随依次的八位位组的第8位至第1位,直到包含内容八位位组的最后八位位组。
注;二值补码的二进制的值的推导过程:对内容八位位组中的每位求值,从最后八位位组的第1位开始,作为第0位,到第1个八位位组的第8位结束。每位所指定数值为2\,这里N是该位在求值序列中的位置。二值补码的二进制的数值是:累加那些置为1的每个位的数值.除去第1个八位位组的第8位,然后用第1个八位位组第8位为1对应的数值减去这个值所得的结果。9枚举值的编码
枚举值的编码是与之相关的整数值编码注:它是简单的。
10实数值的编码
10.1实数值的编码应是简单的。10.2如果实数值是值0,在编码中应没有内容八位位组。10.3如果实数值是非0,那么编码使用的基数应是B,它由发送者选择,如果B是2、8或16,应使用10.5中规定的二进制编码,如果B是10,应使用10.6中规定的字符编码。注:发送者和接收者进行的存储、生成或处理形式,以及在ASN.1值记法中使用的形式都与传送使用的基数无关。10.4第一个内容八位位组的位8应按如下设置:a)如果位8=1,那么使用10.5中规定的二进制编码b)如果位8=0,且位7=0,那么使用10.6规定的十进制编码c)如果位8=0,且位7=1,那么按10.7规定的那样编码一个“特定实数值”(见GB/T16263)10.5当使用二进制编码时(位8一1),那么如果尾数M是非0,它应由一个符号S,一个非负整数值N以及…个二进制比例因子F来表示,如:M-SXNX2
S十1或~-1
GB/T16263--1996
注:提供这种选择F的自由能使得通过去掉将尾数隐含的十进制小数点与八位位组边界对齐的要求(见附录C)而更容易生成传送格式。F的存在并不会显著地使接收者任务变复杂。10.5.1如果S是一1第一个内容八位位组的位T应是1,否则为0。10.5.2第一个八位位组的位6到位5应按如下对基数B的值进行编码:位6到位5
基数为 2
基数为8
基数为16
为本标准将来版本保留
10.5.3第一个八位位组的位4到位3应把二进制比例因子F的值编码成无符号二进制整数。10.5.4第一个内容八位位组的位2到位1应按如下编码指数格式:a)如果位2到位1是00,那么第二个内容八位位组将指数的值编码成2的补码二进制数。b)如果位2到位1是01,那么第二个和第三个内容八位位组将指数的值编码成2的补码二进制数。
c)如果位2到位1是10,那么第二、第三和第四个内容八位位组将指数的值编码成2的补码二进制数。
d)如果位2到位1是11,那么第二个内容八位位组编码用于编码指数的值的八位位组的数,假定为X,(为无符号二进制数目),并且三个直到最大为第(X加3)个(包括二者)内容八位位组将指数的值编码成2的补码二进制数;X的值应至少为1,传送指数的最前9位应不全为0或不全为1。10.5.5剩余的内容八位位组将整数值N(见10.5)的值编码成无符号二进制数。注:①本编码不规定一个\常规化的”表示,对每个值(除0外)有许多可能的表示。该变量是发送者的选项,并能用作精确性的广泛指示。
②实数数字的这种表示与通常用在浮点硬件中的格式有很大的不同,但实数数字的表示已设计成能轻易地与这种格式转换来回地被转换(见附录C)。10.6当使用十进制编码时(位8到位7一00),按IS06093中使用的项,跟在第一个内容八位位组后的所有内容八位位形成~个由发送者选择长度的字段,并且按照ISO6093予以编码。对ISO6093数字表示的选择由第一个内容八位位组的位6到位1规定如下:位6到位1
000001
000010
000011
数字表示
ISO 6093 NR1形式
1SO6093NR2形式
ISO 6093 NR3 形式
位6到位1中剩余的值为本标雅而保留。这儿应不使用伴随文件规定的比例因子(见ISO6093)注:①在ISO)6093中关于至少使用一个数字用到十进制标记的左边的建议,在本标准中也建议这么做,但并不是强制的。
②使用常规化形式(见ISO6093)是发送者的选项,这并不重要。10.7当“特别实数值”被编码(位8到位7=01)时,应只有一个内容八位位组,有如下值:01000000值是PLUS—INFINITY
01000001值是MINUS—INFINITY
位8到位7等于0和1的所有其他值分别为本标准的补篇所保留。11位串值的编码
11.1位串值的编码或者是简单的,或者是构造的,由发送者选择。191
GB/T 16263—1996
注;在整个位串成为有效值之前必须传送部分位串时,使用构造编码。11.2简单编码的内容八位位组包含-个初始八位位组,后随零个、个或多个后继八位位组。11.2.1从第1位开始并以跟踪位结尾的位串的所有位,置于第1个后继八位位组的8到1位,后随第2个后继八位位组的8到1位,依次后随每个八位位组的8到1位,再后随第8位开始的最后后继八位位组需要的些位。
注:“第1位”和\跟踪位\的记法由GB/T16262规定。11.2.2作为以第1位为最低有效位的无符号二进制整数,初始八位位组的编码是最后后继八位位组中未使用的位数。该数在0和7之间。11.2.3若位串为空,则没有后继八位位组,且初始八位位组为零。11.3构造编码的内容八位位组由零个、一个或多个数据值的完整编码组成,注:每个这样的编码包括标识符,长度和内容八位位组,若它是构造的,则还可能包括内容结束八位位组。11.3.1内容八位位组中编码的每个数据值应是BITSTRING类型的值。注:实际士,内容八位位组的标记总是普通类,编号为3。11.3.2被编码的位串值中的位,以第1位开始并以跟踪位结束,置于内容八位字节编码中的第1个数据值的第1位至跟踪位,后随内容八位位组编码中的第2个数据值的第一位至跟踪位,依次后随各个数据值的第1位至跟踪位,最后后随内容八位位组中的最后数据值的第1位至跟踪位。11.3.3内容八位位组编码中的每个数据值,除了最后一个,其位数都是八的整数倍。注:内穿八位位组编码中的数据值可以是零长度的位串。11.3.4使用构造编码时,内容八位位组编码中的各个数据值之间的界限是不重要的。11.3.5内容八位位组编码中的每个数据值的编码可以是简单的或构造的。注:它通常是简单的。
例:位串类型的值0A3B5F291CDH的编码如下。在此例中,位串表示是简单编码:位串
040A3B5F291CD016
上面列出的值也可以如下编码,此时,位串表示是构造编码:位串
内容结束
12八位位组串值的编码
000A3B16
045F291CD016
12.1由发送者选择,八位位组单值的编码或者是简单的或是构造的。注:在完整的八位位组串有效之前,若要传送部分八位位组,使用构造编码。12.2简单编码包含零个、一个或多个值等于数据值中八位位组的内容八位位组,按照数据值中八位位组出现的次序,并使一个数据值八位位组的最高有效位与内容八位位组的一个八位位组的最高有效位组对齐。
12.3构造编码的内容八位位组由零个、一个或多个数据值构成的完整编码组成。注:每个这样的编码包括标识符、长度和内容八位位组,且若是构造的话还包括内容结束八位位组。12.3.1内容八位位组中的每个数据值编码是一个八位位组串类型值的编码。注:实际上,内容八位位组中的标记总是普通类,编号为4。12.3.2八位位组审值中被编码的八位位组,以第1八位位组开头并以跟踪八位位组结尾,置于内容八位位编码中的第1个数据值的第1至跟踪八位位组后随内容八位位组编码中的第2个数据值的第192
GB/T 16263-1996
1至跟踪八位位组,依次后随每个数据值的第1至跟踪八位位组,后随内容八位位组编码中的最后数据俏的第1至跟踪八位位组。
注:内容八位位组编码中的数据值可以是零长度的八位位组串。12.3.3当使用构造编码时,内容八位位组编码中的数据值之间的界限是不重要的。12.3.4内容八位位组编码中的每个数据值编码可以是简单的或构造的。注:它通常是简单的。
13空值的编码
13.1空值的编码是简单编码。
13.2内容八位位组不包含任何八位位组。注:长度八位位组为零。
例:若是空类型,空值可以编码为:空值(NULL)
14序列值的编码
14.1序列值的编码是构造编码。长度
14.2内容八位位组由序列类型ASN.1定义中列出的每个类型的一个数据值的完整编码组成,除非该类型带有关键字\OPTIONAL\或“DEFAULT”,否则这些编码按定义中的次序出现。·14.3带有关键字“OPTIONAL”或“DEFAULT”的类型,其数据值的编码可以不出现,若有,则它应按ASN.1定义的类型的编码中相应点上出现。例:若(name IA5string,ok BOOLEAN)是序列类型,值(name“smith\,ok TRUE)可以编码为:序列
30/6
15单纯序列值的编码
IA5串
15.1单纯序列值的编码是构造编码。长度
“smith”
15.2内容八位位组由零个、一个或多个列在ASN.1定义类型的数据值的完整编码组成。15.3数据值编码的次序与被编码的单纯序列值中数据值的次序相同。16集合值的编码
16.1集合值的编码是构造编码。16.2内容八位位组由集合类型的ASN.1定义中列出的每个类型的一个数据值的完整编码组成。除非某类型带有关键字“OPTIONAL”或“DEFAUI.T”,否则这些编码按发送者选定的次序出现。16.3带有关键字“OPTIONAL”或“DEFAULT”的类型,其数据值编码可以不出现。注:集合值中的数据值的次序不重要,对传送时的次序没有限制。17单纯集合值的编码
17.1单纯集合值的编码是构造编码。17. 2[间 13. 2。
GB/T 16263—1996
17.3编码及以后编码时,不必保持数据值的次序。18值选择值的编码www.bzxz.net
值选择值的编码应与被选定类型值的编码相同。注:①依照选定类型而定,编码可以是简单的或构造的。②用于标识符八位位组的标记,如ASN.1定义中的值选定类型所规定,是被选定类型的标记。19类型选择值的编码
类型选择值的编码应与被选择类型的值的编码相同。注:依照被选择的类型,编码可以是简单的或构造的。20有标记值的编码
20.1有标记值的编码由20.2和20.3中规定的“有标记类型\记法中所出现类型的对应数据值的完整编码(称为基编码)导出。
20.2若类型定义中未使用关键字“IMPLICIT”,编码应是构造的,且内容八位位组是完整的基编码。20.3若类型定义中使用了关键字“IMPI.ICIT”,则:a)若基编码是构造的,则编码是构造的,否则是简单的;b)内容八位位组应与基编码的内容八位位组相同。例:由ASN.1类型定义:
类型1::一可视串
类型2::=[APPLICATION3]IMPLICIT类型1类型3::=[2]类型2
类型 4::[APPLICATION 7JIMPLICIT 类型 3类型5::=[2JIMPLICIT类型2
值\Jones\编码如下:
对类型1:
可视串
对类型2:
[APPLICATION 3]
对类型3:[2]
4A6F6E65731s
4A6F6E6573
[APPLICATION3]长度
对类型4:[APPLICATION7]长度6716
对类型5:[2]
[APPLICATION 3]
4A6F6E657316
4A6F6E657316
4A6F6E657316
21任意类型值的编码
GB/T 16263—1996
任意类型的编码是本标准中规定的任意类型的值的完整编码。22客体标识符值的编码
22.1客体标识符值的编码是简单的。22.2内容八位位组是互相联结的子标识符(见22.3和22.4)编码的(有序)表。每个子标识符表示一系列(一个或多个)八位位组。每个八位位组的第8位指示它是否为该系列中的最后个:最后八位位组的第8位为零;其他八位位组的第8位为1,序列中八位位组的7一1位组合起来作子标识符的编码。概念上,这些位组联结起来形成一一个无正负号的二进制数,它的最高有效位是第1个八位位组的第7位,最低有效位是最后的八位位组的第1位,子标识符按可能最少的八位位组编码,前导八位位组不应有值80(十六进制)。22.3子标识符数(N)应比被编码的客体标识符值中客体标识符的成分的数目少1。22.4第1个子标识符的数值从被编码的客体标识符值中的头两个客体标识符成分的值导出。使用公式
(X X 40) + Y
其中;X是第1个客体标识符成分的值,Y是第2个客体标识符成分的值。注,这种头两个客体标识符成分的组合认可的只有三个值由根节点分配,且由X=0和X=1达到的节点最多分配39个后继值。
22.5第i个子标识符(2≤i≤N)的数值是第(i十1)个客体标识符成分的数值。例子:客体标识符值
(联合 iso-ccitt 100 3)
它与下式相同
(21003)
其第1个子标识符为180,第2个子标识符为3。编码结果为:OBJECT
IDENTIFIER长度
23字符串类型值的编码
81340316
23.1数据值由ASN.1类型定义中规定的字符集得到的字符串组成。23.2每个数据值独立于同一类型的其他数据值而编码。23.3每个字符串类型按如下说明方式编码:[UNIVERSER XJ IMPLICIT OCTET STRING此处X是指派给GB/T16262中的字符串类型的通用类标记号,八位位组串的值在23.4和23.5中规定。
23.4在GB/T16262中,若直接引用一个列举表(数值串和可打印串)规定字符串类型,则八位位组串的值将是23.5中规定的带有相同字符串值的可见类型的值。23.5八位位组串包含在GB2311中为8位环境的编码规定的八位位组,使用按照GB12054登记的转义序列和字符编码。
23.5.1除非在G13/T16262中用来定义字符串类型的登记号之一中有规定,否则不使用转义序列。23.5.2在每串的开头,某些登记号应被设定为G0和/或CO秒或C1,且被调用(使用GB2311的术语)。表2对每个类型加以规定,以及设定它们隐含的转义序列。195
GB/T 16263--1996
23.5.3某些字符集串类型的编码中不包含显式转义序列;在所有别的情况下,23.5.1允许的任何转义序列可以在任何时候出现,包括在编码的开头。表2列出允许有其显式转义序列的类型。23.5.4不使用宣布序列,除非ASN.1用卢有明确允许。注:ASN.1类型的选择还提供了-个受限的宣布序列功能性的形式。特定应用协议可以在其他协议元素中带有宣布序列或者详细地规定用宣布序列的使用方式。例子:这个例子的类型定义为:名字一可视串
其值为
\Jones”
可被编码(简单形式)为
可视串
或(构造形式,确定长度)为
可视串
八位位组串
八位字节串
或(构造形式,确定长度)为
可视串
八位字节串
八位字节串
内容结束
4A6F6E657316
4A6F6E16
657316
4A6F6E16
657316
以上例子示出了三种(更多)可能的有效形式,由发送者选择,要求接收者处理所有允许的形式(见5.3)。
24ASN.1有用类型值的编码
这些类型的ASN.1定义在GB/T16262中提供。编码通过对那些类型定义使用该标准中说明的规则而得到。
25在传送语法定义中的使用
25.1在需要对单个ASN.1类型的所有值规定一个无二义的、不可分和自定界的八位位组串表示时,本标准中说明的编码规则可被引用或应用。注:所有这样的八位位组串在单个ASN.1类型的范鼠内是无二义的,若不同的ASN.1类型混合编码,则不必是无二义的。
25.2、客体标识符和客体描述符值(联合iso-ccitt asn.1(1)
基本编码(1)}
小提示:此标准内容仅展示完整标准里的部分截取内容,若需要完整标准请到上方自行免费下载完整标准文档。