ASN.1笔记——标准编码规则BER

我自横刀向天笑 去留肝胆两昆仑 / 2023-05-04 / 原文

1. 基本规则

BER(BasicEncoding Rules)是ASN.1中最早定义的编码规则,其他编码规则是在BER的基础上添加新的规则构成。

  • BER传输语法的格式一直是TLV三元组<Type,Length, Value>.

    T是Tag,L是整个类型的长度,V是类型的Value,它还可以是TLV或TLV组合
  • BER传输语法是基于八位组大端编码的,高八位在左。

1.1 Tag是一个或若干个八位组

1.1.1 UniversalTag类型(值是0-30)


第七、六位指明Tag的类型,UniversalTag类型用00表示;第五位指明该类型以primitive方式编码还是constructed方式编码。
Tagvalue值是基本类型的Tag的值,例如INTEGER的Tag值是2,SEQUENCE型类Tag值是16:
ASN.1中定义的UNIVERSAL类Tag

Tag 类型
0 BER保留
1 BOOLEAN
2 INTEGER