2025年8583报文解析(376.1报文解析)

8583报文解析(376.1报文解析)svg xmlns http www w3 org 2000 svg style display none svg

大家好,我是讯享网,很高兴认识大家。



 <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg> <p><strong>参考 Demo&#xff1a;</strong><strong>https://github.com/WTCool666/Iso8583/tree/master</strong></p> 

讯享网

ISO8583报文(简称8583包)又称8583报文,是一个国际标准的包格式,最多由128个字段域组成,每个域都有统一的规定,并有定长与变长之分。

【报文格式】

POS终端上送POS中心的消息报文结构包括TPDU、报文头和应用数据三部分:


讯享网

TPDU:长度为10个字节,压缩时用BCD码表示为5个字节长度的数值。

报文头:总长度为12字节,压缩时用BCD码表示为6个字节长度的数值。

ISO8583Msg:信息类型域(2字节)+位图域(一般8字节,如果使用到65~128域则为16字节)+报文数据域。


在线16进制转2进制:https://www.jyshare.com/unit-conversion/7997/
16进制到ASCII字符串在线转换工具:https://coding.tools/cn/hex-to-ascii#google_vignette
【示例】


8583报文大部分情况下用在POS终端与后台收单系统的数据交换,一般情况下一段完整的报文由以下几个部分组成:

[长度(2字节)] + [TPDU(5字节)]+[报文头(6字节)]+[8583数据]

例如,一个demo报文报文:

005A 0 0200 C08000 000000000000000000026120d000000

报文长度:00 5A=90个字节

TPDU:60 00 16 00 00

Header:60 22 00 00 00 00

ISO8583Msg:信息类型0200 + 位图C08000+ 各域数据。

由位图数据可得域是 2 3 4 11 35 41 42,再看规范中的各域信息定义可知:

0000000000000000000000000000000

2 3 4 11 35 41 42

8583报文=信息类型域+位图域+报文数据域

前面10个字节的BCD码(也就是20个BCD码,亦是20个数字)表示报头,在上面报文中报头是<02 00 70 20 00 00 20 C0 82 00>

其中前面四个数字表示 信息类型(MTI),上面报文的信息类型是<02 00>

后面的16个BCD码为 位图域。上面报文的信息类型是<70 20 00 00 20 C0 82 00>

后面N个数字表示报文数据

1、信息类型<02 00>

其中每位数字都有他的含义。不做翻译

第一位:8583 version number

第二位:message class

第三位:message sub-class

第四位:transaction originator

2、位图域<70 20 00 00 20 C0 82 00>

开头不为1,则表示64位的位图。

将上面的位图转换成二进制,为:

000000000000000000000000000000

不足64位,前面补0,为:

0000000000000000000000000000000

现在看是数了,能够看出2、3、4、11、 35、 41、 42、 49这些位置是1.则表示在8583报文中,的2、3、4、11、 35、 41、 42、 49域是传输了数据的。

3、报文数据域

在解读数据域之前,你应该先了解报文的数据类型和代表符

位:二进制中,一个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位变长数字或字符、特殊字符


小讯
上一篇 2025-04-24 14:26
下一篇 2025-05-14 19:16

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/153189.html