Растровое изображение генерирует неправильное поле автоматически
----ISO MESSAGE-----
MTI : 0200
Field-2 : 169991000501589186
Field-3 : 301000
Field-4 : 000001000000
Field-7 : 0620104505
Field-11 : 177
Field-12 : 104505
Field-13 : 0620
Field-15 : 1115
Field-18 : 0000
Field-24 : 001
Field-28 : 00000000
Field-32 : 1158943000
Field-33 : 06000001
Field-35 : 279991000501589186=0903121550
Field-37 : 082400096515
Field-41 : 0540
Field-42 : 000540
Field-43 : kkk
Field-49 : 586
Field-52 : 12345678
это разбивка сообщения iso этого двоичного ряда, как вы видите этот двоичный файл 01110010 00111010 01000001 00010001 10101000 11100000 00111111 00000000
поле с 51 по 56 активно, когда мы активируем (включаем) 49 полей и 52 поля одновременно, тогда битмап идет не так, как надо с помощью jpos
0 ответов
@user3621756:
Из приведенного выше кода я понимаю, что вы неправильно принимаете значения поля, представление растрового изображения поля ISO - IFA_LLNUM для поля 2 (PAN) будет
16|9991000501589186
.
16 - это длина поля, а не сами данные, поэтому поле 35 (данные дорожки 2 для карты).
Сохраните трубу, чтобы различать длину и значение поля
MTI : 0200
Field-2 : 169991000501589186
Field-3 : 301000
Field-4 : 000001000000
Field-7 : 0620104505
Field-11 : 177
Field-12 : 104505
Field-13 : 0620
Field-15 : 1115
Field-18 : 0000
Field-24 : 001
Field-28 : 00000000
Field-32 : 1158943000
Field-33 : 06000001
Field-35 : 279991000501589186=0903121550
Field-37 : 082400096515
Field-41 : 0540
Field-42 : 000540
Field-43 : kkk
Field-49 : 586
Field-52 : 12345678
Растровые изображения генерируются классом ISOMsg, когда вы вызываете метод.pack(), но вы также можете сделать обратное с помощью.unpack, в конце пакет должен дать вам правильное сообщение с растровыми изображениями, а распаковка должна дать вам правильные значения полей.
Если ваше растровое изображение неверно, вы получите сообщение об ошибке при распаковке.