Я работаю над POS-приложением, которое поддерживает карты EMV. Я могу считывать данные карты с устройства чтения карт Verifone MX в формате TLV, но у меня возникают проблемы с декодированием данных TLV в читаемые данные.
Я могу разделить данные на теги TLV и их значения. Результирующее значение находится в шестнадцатеричном формате вместо декодированного текста.
Пример:
Это пример данных TLV (я получил этот образец данных TLV здесь
6F2F840E325041592E5359532E4444463031A51DBF0C1A61184F07A0000000031010500A564953412044454249548701019000
Когда я проверить это TLV в TLVUtil, я получаю данные в определенных тегах в читаемом формате (например, тег 50 здесь).
Самое близкое, что я мог получить в своем приложении, это:
Tag Value
50 56495341204445424954
4F A0000000031010
61 4F07A0000000031010500A56495341204445424954870101
6F 840E325041592E5359532E4444463031A51DBF0C1A61184F07A0000000031010500A56495341204445424954870101
84 325041592E5359532E4444463031
87 1
90
A5 BF0C1A61184F07A0000000031010500A56495341204445424954870101
BF0C 61184F07A0000000031010500A56495341204445424954870101
Я хотел бы знать, есть ли способ идентифицировать определенные теги, которые необходимо преобразовать из шестнадцатеричного в строку, или есть ли какой-либо парсер и декодер TLV, доступный в .Net, который может реплицировать TLVUtil.