TLV (type-length-value или tag-length-value) — широко распространённый метод записи коротких данных в компьютерных файлах и телекоммуникационных протоколах. 23
Система TLV состоит из трёх частей: 1
- Тип кода. 1 Описывает формат данных. 1 Обычно это двоичный код, часто просто алфавитно-цифровой. 5
- Длина. 15 Описывает общую длину данных. 1 Обычно указывается в байтах. 5
- Значение. 15 Сами данные. 1 Могут быть любой длины и типа. 4
Первые два поля имеют фиксированную длину (обычно один или два октета на поле). 2 Длина третьего поля определяется значением второго поля (значение указывается в байтах). 2
Тег — идентификатор данных, определяет их назначение. 23 Например, в спецификации PC/SC метод используется для передачи сведений о подключённом устройстве: строки названия устройства, производителя, серийного номера и т. п.. 2
Некоторые преимущества использования TLV:
- Последовательности TLV легко обрабатываются распространёнными функциями синтаксического анализа. 23
- Элементы сообщения, которые были приняты первыми, можно безопасно пропустить, а остальная часть сообщения может быть проанализирована. 23
- Элементы TLV могут быть размещены в любом порядке внутри тела сообщения. 23
- Элементы TLV обычно используются в двоичном формате, который делает разбор быстрее, а данные — меньше. 23
- TLV легко конвертируется в XML для проверки данных человеком. 23