当前位置:柔美女性网 >

绿色生活 >心理 >

tlv格式报文解析

tlv格式报文解析

tlv格式报文解析

TLV格式解析说明

关于TLV格式报文的解析,自己总是忘记,尤其对于L域长度的判断更加捉急,所以记录下来加深自己的印象同时分享给大家。

TLV格式报文的3个字母分别代表tag标签(也可以理解为type类型),length长度以及value值。

T占2个字节。

L通常占1-4个字节(当然也有可能为更多,目前还没遇到过),长度有2种表示方法一种为占1个字节,最高位为0,其余为表示value的长度另一种为第一个字节最高位为1,其余7位代表后面几个字节代表value长度,听起来比较晦涩,后面会举例分析。

V占L指定的字节数。

对于TLV的分析,刚入门可能有一些难度,现在举几个例子,进行分析,加深理解。

例1.报文81 29 40 2c XX XX XX...

tag:

对应前2个字节为:81 29(该值没啥具体含义,实际可能为工作中定义的一些标签)

length:

我们首先长度域的第一个字节40,0x40二进制 0100 0000,最高位为0,因此0x40就代表value该TLV的value域长度,即value域长度为从第四个字节2c开始往后(包含2c)的64个字节。

value:

2c开始往后64个字节。

例2.报文81 29 07 2c XX XX XX...

tag:

对应前2个字节为:81 29

length:

长度域第一个字节为07查看表格在范围0x00-0x7f,即长度域为就占1个字节。对应二进制0111,最高位至0,因此value域的长度为0111,7个字节

value:

2c开始往后7个字节。

下面搞个有难度的

例3:报文81 29 81 2c 02 XX XX...

tag:

对应前2个字节为:81 29

length:

长度域第一个字节为81,对应二进制1000 0001,最高位为0,后七位为000 00001,因此0x81的后面1个字节2c代表value的长度,即value域长度为44个字节。

value:

从02开始往后的44个字节,包含02。

例4:报文81 29 83 2c 02 68 XX...

tag:

对应前2个字节为:81 29

length:

长度域第一个字节为83,二进制位1000 0011,最高位为1,后七位000 0011代表后面的3个字节为value域长度,即2c0268是value域的长度,2884200个字节。

标签: 解析 tlv 报文 格式
  • 文章版权属于文章作者所有,转载请注明 https://rmnxw.com/lvse/xinli/opnwqw.html