Это не пример кодирования BER-TLV, используемый EMV.Ваш пример данных представляет значения тегов как String / ASCII вместо двоичных.
Так что вам нужен собственный анализатор данных, где:
- Tag - 2 символа, это настраиваемые теги, а не EMV;
- Длина - в десятичном виде , 2 символа;
- Значение - в ASCII с указанной десятичной длиной;
ЭтоФормат более простой по сравнению с реальным BER TLV, но вам нужно разработать собственную функцию.
Результат разбиения будет:
000201 // some header
02 16 4233331001111423
52 04 5467
57 03 444
58 02 IN
59 10 My Company
60 05 Vegas
63 04 bb02