【问题标题】:ISO8583 Unpack IssueISO8583 解包问题
【发布时间】:2022-01-06 19:35:49
【问题描述】:
如何在 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
【问题讨论】:
标签:
java
iso
unpack
hexdump
jpos
【解决方案1】:
如果你想从你共享的数据中解包,你只需要使用你用来打包 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);
前提是packed和packager变量的初始化方式同上。
您将在m 变量中获得iso 消息内容。