谁能介绍下ASN.1编码?
1、ASN.1能实现异构系统之间的信息交换,用它描述的信息独立于任何应用环境,开发LTE协议栈软件必须设计并实现针对RRC消息的ASN.1编解码模块。通过分析ASN.1类型及其编码规则,结合LTE协议栈软件需求,提出了应用于LTE协议栈软件的ASN.1编解码模块的设计方法,该方法采用模块化设计。通过对编解码模块的测试,证明了它对LTE协议栈中RRC消息的编解码功能
2、什么是ASN.1(抽象语法记法一)?
ASN.1是ITU-T的一个标准集,它用来编码及表示通用数据类型,这些数据类型有可打印串值,八位位组串值,位串值,整数值以及用可移值方式组合而成的其他类型序列值.简单的说,ASN.1指定了以何种方式对非平凡的数据类型进行编码,以便其他任何平台及第三方工具都能够解释其内容.比如,字母a在一些平台以ASCII编码为十进制数值97,而在其他非ASCII平台上,可能会是另外的编码.而ASN.1指定了一种编码方式,在任何平台上,字母a的编码都是统一的.
3、ASN.1语法.
ASN.1语法遵循传统的巴科斯范式BNF风格.最基本的表达式如: Name ::= type . 表示为定义某个名称为Name的元素,它的类型为type. 例如: MyName ::= IA5String . 表示为定义了一个名为MyName的元素或变量,其类型为ASN.1类型IA5String (类似于ASCII字符串).
4、ASN.1编码中可以减少一个比特位,降低空口传送的负荷。因为现行的ASN.1编码是PER编码,且是非对齐方式的,即按照取值范围中的最大值的二进制比特位数作为此项PER编码后的比特占位数,4094对应二进制111111111110,占12比特,而2047对应二进制11111111111,占11比特,所以恰好PER编码后少一位比特。 从上面分析可知,编码后的消息SYSTEM INFORMATION比特流前11比特即是SFN所对应的值
5、SN.1编码规则详解(最全最经典) http://wenku.baidu.com/view/e735ea0bf12d2af90242e6d4.html
6、http://hi.baidu.com/guzhenmeng/blog/item/fbe79e33638aff95a8018efa.html
ASN.1(Abstract Syntax Notation One)编码(2)