ISO 8583包(简称8583报文),金融交易卡原始电文-交易电文规范,是一个由国际标准化组织为其定义了消息格式和交易流程,以便于不同的系统能够交换交易请求和响应信息。8583报文交融交易信息数据包由消息类型、位图和按位图描述的顺序排列的数据系列组成。
(1).消息类型是一个4位数字的数字型字符,用来描述每一个交易信息的类别和功能,其中前两位数组标明信息类别,如授权信息、金融交易信息、管理信息,等等。在一个金融系统中,信息类型的定义应该是唯一的,无二义性的。网间交易具有不同的信息类型定义时应在交换报文的发送前和接收后完成类型转换处理。
(2).位图由64位或128位二进制位构成,每一位用1或0来表示与该位相对应的数据元存在或不存在。位图的第一位位1时,表示64位图后紧接着一个扩展的64位位图。
(3).数据元指交易中一个数据项的实际内容,数据元在数据包中是否存在及存放位置由位图中的相应位确定、一些数据元有固定的长度,一些数据元为变长。
8583报文=报文长度(2个字节)+TPDU+报文头+报文体。
TPDU说明:长度为10个字节,压缩时用BCD码表示为5个字节长度的数值。
报文头说明:总长度为12字节,压缩时用BCD码表示为6个字节长度的数值。
报文体说明:是由消息类型+位图+数据元组成。
(网上也有比较现成的工具,只要你提供报文,就可以解析出具体报文。)
PS:位图
位图,Bitmap,由64位或128位二进制位构成!例如
位图: 00 20 00 00 00 C0 00 16
转化为二进制: 00000000 00100000 00000000 00000000 00000000 11000000 00000000 000101100 (1位十六进制对应4位二进制)
有效域 : 11域,41域, 42域 ,60域 ,62域 ,63域。
所以,我们需要根据8583报文规范去查找这些数据域的描述(每一域代表什么意思,数据域长度,数据类型等等),就可以得到具体的意思。例如,<