A-A+
用ASN.1基本编码规则对以下数组(SEQUENCE-OF)进行编码。假定每一个数字占用4个
问题详情
用ASN.1基本编码规则对以下数组(SEQUENCE-OF)进行编码。假定每一个数字占用4个字节。2345,1236,122,1236
请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:整个的编码为:30 1802 04 00 00 09 2902 04 00 00 04 D402 04 00 00 00 7A02 04 00 00 04 D4
ASN.1规定了对于各种数据值都采用所谓的TLV方法进行编码,主要分为三个字段组成的八位位组序列:(1)T字段,用于标识标记。T字段的8~7比特代表类别,用00,01,10,11分别代表通用类、应用类、上下文类和专用类。比特6是P/C比特,为0时是简单类型,为1时是构造类型。比特5—1为标记的编号,范围是0~30。(2)L字段,用于标识后面V字段的长度。由1个或者多个字节组成。当L字段近为1字节时,比特8为0;L为多字节时,比特8为l,后面的7个比特表示后续字节的数目。(3)V字段,用于标识数据元素的值。可嵌套其他数据元素的(T,V,L)字段,并可以多重嵌套。根据编码规则,数组中的每一个整型数据都应该为通用类中的简单类型,且标记值为2,所以T字段的8~7位为00,P/C位为0,5~1位为2,由于每个数字占用4个字节,所以L字段为4,V字段为相应的十六进制数值。数组(sequence-of)为通用类中的构造类型,且标记值为16,所以T字段的8~7位为00,P/C位为1,5~1位为16,数据总长度为4×6=24字节,所以应为0×18。据此,可以写出全部编码。