声明:本文是自己结合所学及项目开发,面向5G等3GPP系列协议,对ASN.1中的UPER编码进行的系列讲解,禁止转载!
在第一讲中,主要是引入了UPER编码,接下来将针对UPER编码,列出ASN.1的主要数据类型,并针对每种类型给出编码方式及流程图,及利用OSS给出编码实例!
UPER的编码原则是:用尽可能简单的规则得到最简洁的编码。
根绝X.680协议,ASN.1的数据类型主要有以下几种:
1)简单类型:a.BOOLEAN(布尔类型,只有真假两个值),b.NULL(空),c.INTEGER(整形,可表示任意长度的整数),d.ENUMERATED(枚举类型),e.BIT STRING(位串,代表以比特为单位的二进制字符串),f.OCTET STRING(八位串,代表以自己为单位的二进制字符串);
2)复合类性:g.CHIOCE(选择类型,可表示每次选择数据类型中的一个),h.SEQUENCE(序列,可表示一组不同数据类型的集合,=c中struct),I.SEQUENCE OF (可表示定义了同一数据类型元素的集合,=c中数组),j.SET(同SEQUENCE), k.SET OF (同SEQUENCE OF);
在最新的X.691协议中给出了以上每种类型的编码方式,本文是对对691协议中编码方式的整理及实例验证,并且着重对