Type-Length-Value编码

Within data communication protocols, optional information may be encoded as a type-length-value or TLV element inside a protocol. TLV is also known as tag-length value.

The type and length are fixed in size (typically 1-4 bytes), and the value field is of variable size. 一条经TLV编码的消息,有三部分组成:Type,Length,Value。其中,Type是指消息的类型,供解析时识别;Length是指消息的长度,通常以Byte计;Value是真正的消息体,因为已经通过Length携带了消息体的具体长度,所以,这里的消息体长度是可变的。另外,Type和Length所占的Byte位数通常是固定的,通常用1-4个字符。

These fields are used as follows:

- Type: A binary code, often simply alphanumeric, which indicates the kind of field that this part of the message represents;

- Length: The size of the value field (typically in bytes);

- Value: Variable-sized series of bytes which contains data for this part of the message.

Some advantages of using a TLV representation:

- TLV sequences are easily searched using generalized parsing functions;

- New message elements which are received at an older node can be safely skipped and the rest of the message can be parsed.

- This is similar to the way that unknown XML tags can be safely skipped;

- TLV elements can be placed in any order inside the message body;

- TLV elements are typically used in a binary format which makes parsing faster and the data smaller;

- It is easier to generate XML from TLV to make human inspection of the data possible.

posted @ 2014-07-15 09:30  Biiigfish  阅读(1567)  评论(0编辑  收藏  举报