TLV编码

 

TLV编解码

描述:

消息的格式如下:

1、一条消息由一个或多个基本信息单元(Information Element)IE组成。

2、每个IE采用TLV编码。TLV是Tag Length Value的缩写,它是一种变长数据的编解码,

 由Tag,Length(value的长度)及Value三个域组成。

3、Tag固定占4个字节,Length固定占2个字节。

4、字节序按照大端序处理。 

根据IE的Tag值大小对消息中所有的IE由小到大排序,并输出。

例如消息:0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x66

前面4个字节是tag:0x00, 0x00, 0x00, 0x00

后面2个字节是长度:0x00, 0x02, 

后面的2个字节0x00, 0x66是Value

该消息只有一个IE。

 

运行时间限制:

无限制

内存限制:

无限制

输入:

字节流,字节之间用“,”隔开,如0x00, 0x00, 0x00, 0x77, 

0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x00, 0x02, 0x01, 0x02

 

输出:

根据IE的Tag值的大小对消息中所有的IE排序,并输出。字节序按照大端序处理。 

字节流,字节之间用“,”隔开,如:

x00, 0x00, 0x00, 0x66, 0x00, 0x02, 0x01, 0x02,

 0x00, 0x00, 0x00, 0x77, 0x00, 0x00。

如果消息解码失败,请输出false。

样例输入:

0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x00, 0x02, 0x01, 0x02

样例输出:

0x00, 0x00, 0x00, 0x66, 0x00, 0x02, 0x01, 0x02,

0x00, 0x00, 0x00, 0x77, 0x00, 0x00


你可能感兴趣的:(TLV编码)