BER 编码

协议 同时被 2 个专栏收录
2 篇文章 0 订阅
1 篇文章 0 订阅

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

  • 1
    点赞
  • 0
    评论
  • 2
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值