SAN.1基本编码规则 BER

计算机网络管理(第2版)的一些总结

在这里插入图片描述

类型 区分在这里插入图片描述

例子:

1、BOOLEAN

布尔值的编码是简单类型,其值由一个八位组组成。
FALSE的编码为00 01 00
TURE的编码为 00 01 FF
第一个字节00 表示布尔类型的标签UNIVERSAL 1
在这里插入图片描述
第二个字节01表示值不会的长度为1个字节
第三个字节00或FF表示布尔值
标签中:

  • 00:通用类型 因为在表2-3中可以查到
  • 0:见上图简单类型和构造类型的分类
  • 00001:就是UNIVERSAL 1

在这里插入图片描述

2、NULL

空值的编码是简单类型。长度值为0
空值的标签是UNIVERSAL 5
所以编码为05 00

3、INTERGER

整数值的编码是简单类型。UNIVERSAL 2
对于表示的值:

  • 正数:

    • 如果最高比特位为0则直接编码
    • 如果最高比特位为1则在最高比特位之前(左边)增加一个全0的八位组
  • 例:0 的编码为 02 01 00

  • 127的编码为 02 01 7F (127 = 01111111B= 7F H)最高比特位为0

  • 128的编码为 02 02 00 80 (122 = 10000000B= 80 H)最高比特位为1

  • 256的编码为 02 02 01 00

  • (256 = ‭0001 0000 0000‬B= ‭100‬ H)最高比特位为0

  • 负数

    • 先取绝对值,按照正数的做法编码,再取反,加一。
    • (讲的有点复杂可以看下面的图)
    • 例:-129的编码为 02 02 FF 7F 在这里插入图片描述

5、BIT STRING

位串值的编码 可以是简单类型,也可以是构造类型
UNIVERSAL 3
直接上例子

简单类型的编码:

位串值:0A 3B 5F 29 1C D

  1. 最后的D为单个直接补零,变成 D0

因为是十六进制变为2进制其实是4个零,0 H = 0000B
补零后:0A 3B 5F 29 1C D0

  1. 还需要说明补零的个数 4个
    所以在前面添加 04

  2. 最后的值为04 0A 3B 5F 29 1C D0

  3. 加上标签03 长度为 07 (7个 8位2进制数)

  4. 变成了:在这里插入图片描述

构造类型的编码:

为什么这么分?
在这里插入图片描述

6、OCTET STRING

"ACE"为字符串时,需要使用ASCLL值
ACE为数字是和BIG STRING类似,只是不需要添加表示填充个数的八位组,直接补0就行。
在这里插入图片描述

7、 OBJECT IDENTIFIER

在这里插入图片描述
在这里插入图片描述
参考资料:

  1. 计算机网络管理 (云红艳 、 高磊 、 杜祥军 、 赵志刚 等 著 )
  2. 周灵老师PPT内容
  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值