----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
当我们激活(启用)49字段和52字段然后使用jpos进行位图错误时,51到56的字段是活动的
答案 0 :(得分:0)
@ user3621756:
从上面的代码中,我推断您是错误的使用字段值,字段2(PAN)的ISO字段位图表示形式为IFA_LLNUM,
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
当您调用方法.pack()时,位图是由ISOMsg类生成的,但是您也可以通过.unpack进行逆向操作,在最终包中应该为您提供带位图的正确消息,而解包应为您提供正确的字段值。
如果位图不正确,则在打开包装时会收到错误消息。