TLV编码结构

2021/01/09 note 共 434 字,约 2 分钟

一、标签

1.B1

b8b7b6b5b4b3b2b1描述
xx1xxxxx复合TLV
xxx11111多字节标签

2.B2(存在条件:B1 & 0x1F == 0x1F)

b8b7b6b5b4b3b2b1描述
1xxxxxxx后面跟随标签第3字节

3.B3(存在条件:B2 & 0x80 == 0x80)

b8b7b6b5b4b3b2b1描述
1xxxxxxx后面跟随标签第4字节

4.B4(存在条件:B3 & 0x80 == 0x80)

取值任意

二、长度

1.B1

b8b7b6b5b4b3b2b1描述
0xxxxxxxb7-b1表示长度
1xxxxxxxb7-b1表示后面长度域字节数

2.单字节长度计算

长度 = B1

3.多字节长度计算

长度 = 大端排列的n个后续字节转换为整数。
例如 长度域为0x820120,那么长度 = 0x01*256 + 0x20 = 288。

三、数据

通过前面的长度域,得到数据域的范围。如果是复合TLV,那么数据域应由1个或多个TLV格式的数据拼接而成。

参考

文档信息

Search

    Table of Contents