加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

8583报文协议

发布时间:2020-12-14 03:45:33 所属栏目:大数据 来源:网络整理
导读:有一个简单的8583报文协议组包的例子。 以64个域的报文来举例, 每个域预先定义了内容和长度有一个叫做BITMAP的,也就是位图,定义了一个数据包里包含了几个域。举个例子20 00 38 00 00 00 00 34 你把它解开,排列一下20 = 0010 000000 = 0000 000038 = 0011

有一个简单的8583报文协议组包的例子。

以64个域的报文来举例,每个域预先定义了内容和长度有一个叫做BITMAP的,也就是位图,定义了一个数据包里包含了几个域。举个例子20 00 38 00 00 00 00 34 你把它解开,排列一下20 = 0010 000000 = 0000 000038 = 0011 1000 依次类推,得到一串数字0010 0000 0000 0000 0011 1000 0000 0000 0000 0000 0000 0000 0000 0000 0011 0100然后从左到右数一下里头含有1的是那几位,上面的例子我们得到3 19 20 21 59 60 62,这几位含有1。也就是说接下来的报文包含有这几个域。好了说了那么多,我们来做一个简单的例子比如消费交易,需要上送交易类型,卡号等等,定义如下卡号 第2域 LLVAR BCD 5309987876545342交易类型 第3域 长度6 BCD 900000 金额 第4域 长度12 BCD 100分时间 第7域 长度8 BCD 200308022磁道信息 第35域 LLVAR ASCII 123456 3磁道信息 第36域 LLLVAR BCD 123456001商户号 第41域 LLVAR ASCII 98765432好了我们现在开始打包,首先按照长度和类型把上面的数据处理一下卡号 165309987876545342交易类型 900000金额 000000000100时间 200308022磁道 063132333435363磁道 0009123456001商户号 083938373635343332接下来我们按照域信息生成位图因为有第2域,所以第二个位置是1,由第三域,所以第三个位置是1,。。。依此类推得到一串数字0111 0010 0000 0000 0000 0000 0000 0000 0011 0000 1000 0000 0000 0000 0000 0000转换过来,就是72 00 00 00 30 80 00 00 这个就是BITMAP了然后把上面的数据按照BITMAP+每个域的内容,依次排列就得到这个包的内容了720000003080000016530998787654534290000000000000010020030802063132333435360009123456001083938373635343332前头再加上TPDU和MSGID就是最后的数据包

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读