BER 編碼

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部分

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章