- 6
- 0
- 约5.46千字
- 约 7页
- 2017-02-08 发布于北京
- 举报
3 编码规则和传输语法
3.1 BER
3.1.1 基本规则
BER(Basic Encoding Rules)是ASN.1中最早定义的编码规则,在讨论详细编码规则时,我们是基于正确的抽象描述上。BER传输语法的格式一直是TLV三元组Type, Length, Value也可以认为是Tag, Length, Value,见Figure 3-1。TLV每个域都是一系列八位组,对于组合结构,其中V还可以是TLV三元组,见Figure 3-2。BER传输语法是基于八位组(为了避免不同系统上的混淆,没有采用Byte为单位)的,自定界的编码,因为其中L明确界定了八位组的长度。BER是大端编码的,其八位组的高位比特在左手边,见Figure 3-3。
Figure 3-1 TLV三元组
Figure 3-2 传输语法示例
Figure 3-3 大端编码
BER编码中的Tag(通常是一个八位组),指明了值的类型,其中一个比特表征是基本类型还是组合类型。Tag有如下两种形式:
Figure 3-4 Tag的两种形式
当Tag不大于30时,Tag只在一个八位组中编码;当Tag大于30时,则Tag在多个八位组中编码。在多个八位组中编码时,第一个八位组后五位全部为1,其余的八位组最高位为1表示后续还有,为0表示Tag结束。Tag的值需要将上图中黄色部分拼接后才能得到。?
BER编码中Length表示Value部分所占八位组的个数,有两大类:定长方式(Definite Form)和不定长方式(Indefinite Form);在确定方式中,按照Length所占的八位组个数又分为短、长两种形式。具体如下:
Figure 3-5 Length的三种形式
采用定长方式,当长度不大于127个八位组时,Length只在一个八位组中编码;当长度大于127时,在多个八位组中编码,此时第一个八位组低七位表示的是Length所占的长度,后续八位组表示Value的长度。
采用不定长方式时,Length所在八位组固定编码为0x80,但在Value编码结束后以两个0x00结尾。这种方式使得可以在编码没有完全结束的情况下,可以先发送部分消息给对方。?
BER编码规则的Object Identifier注册为{joint-iso-itu-t(2) asn1(1) base-encoding(1)},其Object Description为“Basic Encoding of a single ASN.1 type”。
3.1.2 各类型的编码
本小节中以UNIVERSAL Tag和短型Value为例,讨论各种类型的BER编码,重点关注Value部分。在举例中,n10表示数字n是十进制数。
I. BOOLEAN
只能以primitive方式编码。
FALSE的编码为:
TRUE的编码(任何不是全0都可以)为:
或者:
II. NULL,只能以primitive方式编码,且只有一个值:
III. INTEGER
只能以primitive方式编码。
我们分编、解码两个过程,正数、负数两种情况来讨论。
1)???????? 编码过程:
Figure 3-9 INTEGER编码过程
??????????? 对于正数,如果最高比特位为0则直接编码;如果为1,则在最高比特位之前增加一个全0的八位组。
??????????? 对于负数,先取绝对值,再取反,最后加1。
2)???????? 解码过程:
Figure 3-10 INTEGER解码过程
基于前面所述的规则,整数-27,066的编码为:
IV. ENUMERATED
ENUMERATED的值按照前面整数值的规则编码。
V. REAL
Figure 3-12 REAL类型编码
VI. BIT STRING
可以primitive方式编码或者constructed方式编码。
采用primitive方式,对1011011101011B的编码规则如下:
注意在1011011101011B前增加了一个八位组,取值为0到7,表征这个值最后补位的个数。由发送方决定补位采用0还是1。
如果BIT STRING的值为空,则编码时,长度为1,补充的八位组为全0。
constructed方式是在发送时,有部分编码还不能确定时采用的,前一个值的编码如下:
Figure 3-15 BIT STRING: 1011011101011B的constructed form编码
注意Length部分采用的是不定长编码。
VII. OCTET STRING
与BIT STRING类似,但是不需要增加表征补充位个数的八位组。
VIII. OBJECT IDENTIFIER
只能以primitive方式编码。
编码时,第一个八位组采用公式:fi
您可能关注的文档
- AITS-120525美国东西海岸,夏威夷,大瀑布14天行程.doc
- Aladdin eToken信息安全解决方案.doc
- Aruba配置手册大全.doc
- Atlas旋齿型转子无油机竞争对手比较.ppt
- Auto CAD透明命令.doc
- AVA应用解决方案.ppt
- axd设计空间经典设计之成都锦绣花园新古典风格.ppt
- A世界经济的发展.doc
- A四级词汇电子书.doc
- A通讯系统故障处理手册.doc
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- Q_LNKJ06-2020中负荷车辆齿轮油GL-4.pdf
- SJ∕T 10460-2016 太阳光伏能源系统图用图形符号.pdf
- 新求精德语强化教程(第4版)初级1课后练习答案(改进版) .pdf VIP
- 北师大版三年级下册数学全册教学设计(配2026年春改版教材).docx
- (2026年)跌倒坠床护理综合指南PPT课件.pptx VIP
- 工程设计应急响应方案(3篇).docx VIP
- 征信简版电子版PDF个人信用报告最新版2024年可编辑带水印模板.pdf VIP
- ntvf调试资料解读.doc VIP
- 电影《色.戒》的叙事伦理.doc VIP
- 上海大学2023-2024学年第1学期《高等数学(上)》期末考试试卷(A卷)附参考答案.pdf
原创力文档

文档评论(0)