银联iso8583协议报文解析

最近在研究银联的ISO8583协议,涉及到报文这方面的东西,感觉挺多的,分享一下,或许对你有帮助。
ISO8583协议解决的核心问题:
  1.   明确了报文每个字段的数据类型,是数字还是字符,都能定义清楚
  2.  支持64或者128个字段,但是如果某个字段没用到,就不用传输,对于交易来说完全够用,同时还节省了带宽和流量。 
  3.  可以支持变长的字段

1,报文组成

​​​​​​​

2,报文相关知识

位:二进制中,一个0或1,表示位

Bcd码:四个位表示一个bcd码(可以理解成八进制数中1位)

字节:八个位表示个字节(可以理解成十六进制数中1位)

N..x 代表数字类型 x代表位数 ..代表变长,若x为技术,则自动补0,凑足一个bcd码

N4:4位定长数字

N6:6位定长数字

N..6:6位变长数字

AN..x AN代表数字或字母,用ANSCII码解析,;x代表位数; ..代表变长

AN4:4位定长数字或字符

AN6:6位定长数字或字符

AN..6:6位变长数字或字符

ANS 代表数字、字母或特殊字符,用ANSCII码解析

ANS4:4位定长数字或字符、特殊字符

ANS6:6位定长数字或字符、特殊字符

ANS..6:6位变长数字或字符、特殊字符

3,报文实例

01 14 60 00 03 30 00 61 31 00 31 34 56 02 00 70 24 06 C0 20 C0 9A 11 16 62 26 89 01 14 56 47 83 00 00 00 00 00 00 00 00 22 00 02 52 20 05 05 10 00 01 00 12 37 62 26 89 01 14 56 47 83 D2 00 52 01 12 71 81 19 00 00 00 31 32 33 34 35 36 37 38 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 38 34 30 16 EC 2F C3 2C D4 38 A8 26 00 00 00 00 00 00 00 01 45 9F 1A 02 08 40 9F 27 01 80 9A 03 23 08 28 9F 36 02 17 98 9C 01 00 9F 03 06 00 00 00 00 00 00 9F 26 08 3A 19 36 77 73 20 52 F6 9F 37 04 68 63 B7 37 9F 09 02 00 20 9F 41 04 00 00 02 52 9F 34 03 42 03 00 9F 02 06 00 00 00 00 00 22 9F 35 01 22 9F 10 13 07 01 01 03 A0 28 02 01 0A 01 00 00 00 00 00 0F F7 A0 AC 9F 33 03 E0 F8 C8 5F 2A 02 08 40 82 02 7C 00 9F 1E 08 30 57 30 33 32 32 36 39 95 05 00 C0 04 E0 00 84 08 A0 00 00 03 33 01 01 02 00 14 22 00 00 21 00 05 00 36 31 39 37 33 37 43 44 

4,报文解析结果
 5,Java代码解析如下,包含55域的解析结果

码字不易,记得点赞关注哟

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东皋长歌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值