0.作业要求
使用ASN.1编写一个数据结构。数据结构自己考虑。
分别使用asn1c、JavaAsn1Compiler等对这个数据结构进行编译。
使用c/java/python进行编码,并存储,而后用另外一种编程语言进行解码,比如,用C编码,可以用java或者python解码。
对“要求一”中的数据结构,使用protobuffer实现一次。这里不强制要求不同的语言实现编码和解码。
1.使用ASN.1编写一个数据结构
数据结构如下所示:
由两个INTEGER型和两个OCTET STRING型的数据构成
RectangleModule1 DEFINITIONS ::=
BEGIN
Rectangle ::= SEQUENCE {
height INTEGER,
width INTEGER,
author OCTET STRING,
title OCTET STRING
}
END
2.分别使用asn1c、JavaAsn1Compiler等对这个数据结构进行编译
asn1c -fnative-types rectangle.asn1
由于编译出的文件过多,下图只截取部分编译结果
htkz@htkz:~/Desktop/ASN1/ASN.1$ asn1c -fnative-types rectangle.asn
然后是java
htkz@htkz:~/java_asn1/src$ java -jar JAC.jar -d ~/java_asn1/src/jac_test -p rectangle rectangle.asn1