首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >打包iso8583消息

打包iso8583消息
EN

Stack Overflow用户
提问于 2015-10-21 15:01:17
回答 1查看 1.1K关注 0票数 1

我尝试用iso8583库替换j8583和我们运行的旧iso8583程序(我没有源代码)。该数据包产生的数据包与旧软件生成的数据包不同。注意旧包中的"f“。

代码

代码语言:javascript
复制
messageFactory.setAssignDate(false);

messageFactory.setUseBinaryMessages(true);

IsoMessage isoMessage = messageFactory.newMessage(0x1804);
isoMessage.setBinary(true);
isoMessage.setBinaryBitmap(true);
isoMessage.setValue(3, "000000", IsoType.NUMERIC, 6);
isoMessage.setValue(11, "000001", IsoType.NUMERIC, 6);
isoMessage.setValue(12, "151021095555", IsoType.NUMERIC, 12);
isoMessage.setValue(24, "831", IsoType.NUMERIC, 3);
isoMessage.setValue(25, "8700", IsoType.NUMERIC, 4);
isoMessage.write(outputStream, 2);

旧包装

代码语言:javascript
复制
0x0000:  0a13 ad7c d6d0 0a2f 6a3b 8f1e 0800 4500  ...|.../j;....E.
0x0010:  0055 73ae 4000 4006 41de 0a00 0888 94ab  .Us.@.@.A.......
0x0020:  dde3 b88b 540c c290 a52c 976a 3432 5018  ....T....,.j42P.
0x0030:  01c9 855e 0000 002d f1f8 f0f4 2030 0180  ...^...-.....0..
0x0040:  0000 0000 f0f0 f0f0 f0f0 f1f5 f3f0 f2f9  ................
0x0050:  f1f5 f1f0 f2f0 f2f1 f1f1 f3f1 f8f3 f1f8  ................
0x0060:  f7f0 f0

新包装

代码语言:javascript
复制
0x0000:  0a13 ad7c d6d0 0a2f 6a3b 8f1e 0800 4500  ...|.../j;....E.
0x0010:  0042 39a7 4000 4006 7bf8 0a00 0888 94ab  .B9.@.@.{.......
0x0020:  dde3 bcce 540c b124 15aa 1a6e e56b 5018  ....T..$...n.kP.
0x0030:  01c9 854b 0000 1804 2030 0180 0000 0000  ...K.....0......
0x0040:  0000 0000 0001 1510 2109 5555 0831 8700  ........!.UU.1..
EN

回答 1

Stack Overflow用户

发布于 2015-10-22 08:59:50

1)在旧的数据包示例中,可以看到带有'F‘的字节。这清楚地表明,数据的编码采用EBCDIC格式。

2)在New中,字段是BCD填充的--每个数字使用了一半字节的数字字段。

对于示例,从二进制数据:

  • 旧0x"f1f8 f0f4“- MTI编码为EBCDIC
  • 新0x"1804“- MTI编码为BCD

更改字段编码模式(如果java支持此选项)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33262766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档