ISO8583 解压问题

ISO8583 Unpack Issue

如何在 java 中使用 JPOS 库解压 ISO 消息?

这是示例 ISO 消息。

0800. ..............1224190516424997001003      
Sample Hex Dump:
30 38 30 30 82 20 01 00  00 00 00 00 04 00 00 00      0800. ..........
00 00 00 00 31 32 32 34  31 39 30 35 31 36 34 32      ....122419051642
34 39 39 37 30 30 31 30  30 33                        4997001003    

请注意,我已经使用 jpos 库打包了上述消息,位图格式为 org.jpos.iso.IFB_BITMAP

如果你想从你分享的数据中解包,你只需要使用你用来打包 iso 消息的同一个打包程序来解包你生成的内容。

您可以使用用于打包消息的相同参数实例化一个打包器,然后:

ISOPackager pacakger = ....; //initialize the same way as used to pack
ISOMsg m = new ISOMsg();
//here we are using the hexdump since the plain data has non printable chars, because of the binary bitmap
byte[] packed = ISOUtil.decodeHexDump(
                "30 38 30 30 82 20 01 00  00 00 00 00 04 00 00 00      0800. ..........\n" +
                "00 00 00 00 31 32 32 34  31 39 30 35 31 36 34 32      ....122419051642\n" +
                "34 39 39 37 30 30 31 30  30 33                        4997001003");
packager.unpack(m, packed);

或者你可以

ISOMsg m = new ISOMsg();
m.setPackager(packager);
m.unpack(packed);

前提是packedpackager变量的初始化方式同上。

您将在 m 变量中获得 iso 消息内容。