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.