2014-01-27 1 views
5

Я хочу знать конкретную разницу между простым ТЗМОМ и BER TLVСпецифическое и главное различие между простым ТЗМОМ и BER TLV

Почему BER TLV 5F05 05 48656C6C6F недействителен как в BER TLV тег может иметь один или несколько последовательные байты ???

Пожалуйста, дайте несколько примеров также ..

Thnaks, Анкит

+0

Возможный дубликат [SIMLPE -tl: V против BER-TLV] (http://stackoverflow.com/questions/18853800/simlpe-tlv-vs-ber-tlv) – Jakuje

ответ

1

КОБ означает, что канал-носитель, которая позволяет carriying из другого ТДЗ в пределах

BER-TLV объект данных содержит (TL (ТЗМ) (TLV) с полем тега, за которым следует поле длины, кодирующее число. Шаблон состоит из одного или нескольких объектов данных BER-TLV, каждый из которых состоит из поля тега, поля длины, кодирующего число, и если число не ноль, поле значений.

В случае, если это не ясно, свяжитесь со мной.

С уважением Anup

+0

Спасибо Ануп для вашего ответа. Я хотел бы добавить еще одну вещь, связанную с моим вопросом - Почему BER TLV 5F05 05 48656C6C6F недействителен, как в BER TLV, тег может иметь один или несколько последовательных байтов ??? Ответ - Как и в BER TLV, поле Tag может быть структурировано следующим образом: – LearnAndHelp

+0

(ISO/IEC 7816 поддерживает длины полей одного, двух, ... до пяти байтов) 1-й байт 2-й байт 3-й байт 4-й байт 5-й байт «00» до «7F» --- --- ---- ---- «81» «00» до «FF» --- ---- ---- «82» " 0000 "до" FFFF "---- ---- " 83 "" 000000 "на" FFFFFF "---- " 84 "" 0000000000 "на" FFFFFFFFFF " – LearnAndHelp

+0

Итак, в BER TLV 5F05 05 48656C6C6F - > Тег имеет длину 2 байта (5F05), что неверно, потому что если тег имеет длину 2 байта, то его первый байт должен быть «81», а второй байт может быть любым в диапазоне от «00» до «FF». Не стесняйтесь спрашивать в случае путаницы. Спасибо, Ankit – LearnAndHelp

2

Я хотел бы добавить еще одну вещь, которая связана с моим вопросом -

Почему BER TLV 5F05 05 48656C6C6F недействительна как в BER TLV тег может иметь один или несколько последовательные байты ???

Ответ -

Как и в BER TLV поле Метка может быть структурирована следующим образом: (ISO/IEC 7816 поддерживает длину поля один, два, ... до пяти байт)

В случай, когда длина тега 1 байт то действительные значения могут быть - «00» до «7F»

в случае, когда длина тега составляет 2 байта, то действительные значения могут быть - «81» (для 1-го байт) и «00» на «FF» (для второго байта)

В случае, когда длина тега 3 байта, то могут быть действительные значения - «82» (для 1-го байта) и «0000» на «FFFF» (для 2 + 3-й байт)

В случае, если длина тега - 4 байта, тогда допустимые значения могут быть: «83» (для 1-го байта) и «000000» - «FFFFFF» (для 2-го + 3-го и 4-го байтов)

В случае, если длина тега 5 байт, то действительные значения могут быть - "84" (для 1-го байта) и "00000000" в "FFFFFFFF" (для 2 + третий + 4-й + 5-й байт)

Таким образом, в BER TLV 5F05 05 48656C6C6F - > Тег имеет 2 байтов (5F05), что неверно, потому что если тег имеет длину 2 байта, то его первый байт должен быть «81», а второй байт может быть любым в диапазоне от «00» до «FF».

Не стесняйтесь спрашивать в случае путаницы.

Спасибо, Ankit

+1

Я знаю, что уже слишком поздно, но для будущих читателей: пожалуйста, взгляните на этот ответ https://stackoverflow.com/a/18932655/1774251, который дает правильное объяснение. Ваш тег 5F05 корректен на основе формата (5 последних бит 5F равны 1, так что по меньшей мере 1 байт в T, первый бит 05 равен 0, так что это последний байт T). Но это неверно на основе интерпретации BER-TLV, поскольку второй байт имеет значение и не может быть меньше 1F, или тег должен быть написан только на 1 байт. –

Смежные вопросы