Wikipedia
Type-length-value
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.
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. 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.