BER(BasicEncoding Rules)是ASN.1中最早定義的編碼規則,其他編碼規則是在BER的基礎上添加新的規則構成,比如 DER
BER傳輸語法的格式一直是TLV 三元組 <Type,Length, Value>, 每一段佔一個字節。其中Value部分可以嵌套另一個 TLV,其格式如下:
Tag部分:高兩位標識類型
00--通用型(比如:string、bool、int等)
01--應用型
10--上下文型
11--私有。
第6位(下標爲5綠色)代表value部分是嵌套還是單一,爲 0--不嵌套,1--嵌套
length 部分:最高位代表長度部分是定長還是不定長,0--定長,低七位表示的值就是value部分佔的字節數。1--不定長,低七位表示接下來幾個字節組成的值作爲真正的長度
value部分:真正的內容域
舉個例子:
107 130 3 207 48 130 3 203 160 3 ... ... 將其轉成二進制
01 1 01011 1 0000010 00000011 1100 1111
01-->應用型
1 -- >valu嵌套
1 -->不定長
00000011 1100 1111-->value 總共 975 字節
48 130 3 203 160 3 ... ... -->value部分