1 8583报文数据类型

整个报文内容包括:报文长度+TPDU+报文头+交易数据。上一章解释了报文长度、TPDU和报文头信息。这里我们详细说下交易数据部分。在这之前需要简单介绍下报文中的数据类 
 
举个例子:变量a类型是N4,那么表示a是最多4个有效数字填充,如果内容不够4位,那么用0左边填充。如a=’\0x01’,那么实际上填充的内容是:“\0x00 \0x00 \0x00 \0x01”(这里抛开BCD先)。

2 8583消息类型 
消息类型是在银联规范中已经规定给你,表示该报文的交易类型,通俗说就是“你是干啥的”。比如0800表示签到,0200表示消费。 
N4, 4个字节的定长数字字符域。压缩时用BCD码表示的2个字节的定长域。十六进制即:0x08 0x00。关于BCD上一章简单介绍过,后面会开一张专门介绍下并附带算法。

3 8583位图 
位图在整个报文中占8个字节,位图的作用就是分析出来该报文有那些域参与。网上有专门的位图解析工具。原理比较简单,8个字节就是8*8=64个bit位,也就是代表64个域。如果哪个bit位为1,则表示该报文中该域是存在数据的,否则表示该域为空。还是拿签单报文举例: 
 
位图是00 20 00 00 00 C0 00 12。用位图工具可以看到域信息是:11 41 42 60 63。

4 域解析 
那么就看位图以后的数据:00 12 47 35 38 44 30 31 31 31 35 38 38 37 35 38 44 30 34 38 31 36 35 35 35 35 00 11 00 00 00 01 00 30 00 02 30 31。 
我们先去银联规范中查看11域介绍: 
 
看图,上面已经表明占3个字节,那么11域内容是:00 12 47。剩下的数据是:35 38 44 30 31 31 31 35 38 38 37 35 38 44 30 34 38 31 36 35 35 35 35 00 11 00 00 00 01 00 30 00 02 30 31。那么再看下41域定义: 
 
占8个字节,那么从剩下的报文内容中拿取8位:35 38 44 30 31 31 31 35 38。依次42域:38 38 37 35 38 44 30 34 38 31 36 35 35 35 35。剩余的数据是:00 11 00 00 00 01 00 30 00 02 30 31。看60域定义: 
 
2个字节表示长度:00 11,这里是BCD之前的长度信息,那么如果BCD后则是(11+1)/2=6,所以数6个字节:00 11 00 00 00 01 00 30。63域一样。

iso8583报文解析相关推荐

  1. Java解析银联报文_银联ISO8583报文解析过程

    主密钥: aabbccddeeff11223344556677889900 1.从签到报文中获取工作密钥,包括MACKEY明文,PINKEY明文 签到: 12-03-31 16:38:09----&g ...

  2. ISO8583报文工具类(组装和解析报文)

    很久没来csdn了.现在的工作地点在银行,妈的,不让上网啊. 写写博客其实是对自己知识的总结,这么长时间了,也该写点东西了.接触银行的项目,避免不了 遇上8583报文.具体介绍就不细讲了,这个网上一大 ...

  3. java发送iso8583报文接口框架,ISO8583报文工具类(组装和解析报文)

    package com.lsy.common.util; import java.io.FileInputStream; import java.io.UnsupportedEncodingExcep ...

  4. iso8583 java解析源码_iso8583报文解析java

    8583报文详解 4页 免费 8583报文格式介绍 1页 免费 8583报文及各域详解 48页 1下载券 解析ISO8583报文实例 4页 1下载券 8583报文 48页 免费 ...... Pos ...

  5. ISO8583报文格式解析

    我刚进入金融行业时,就知道了IS08583报文协议,我想可能我还没进入这个行业都已经听过了,可知ISO8583的影响力有多大了.最初刚接触它时,确实对其中的一些细节概念不是很清晰,对有些地方比较迷惑. ...

  6. ISO8583报文组装解析工具和定义器示例

    8583报文组装和解析工具类(Send8583Util),代码如下: import com.alibaba.fastjson.JSONObject; import org.apache.commons ...

  7. 浅谈128位ISO8583报文的组装和解析

    ISO8583报文的常用的几种方式 8583报文的组成样式 8583报文的组成样式 一般而言8583的报文组成各式都是16进制的字符编码组成的,当然也不排除存在ASCII的不规则特例,具体的需要根据不 ...

  8. java 传送解析8583报文_java发送ISO8583报文接口案例

    [实例简介] java发送ISO8583报文实现平安银行支付接口 [实例截图] [核心代码] pingAnBank └── pingAnBank ├── build.xml ├── client │  ...

  9. c#8583_解析ISO8583报文实例

    本篇文章参考了中国银联POS终端规范,所以如有不明白的可以去我的资源里面下载. 现在我们有ISO8583报文如下(十六进制表示法): 60 00 03 00 00 60 31 00 31 07 30 ...

最新文章

  1. oracle 实现map,PLSQL实现的map功能,以及一些疑惑
  2. 腾讯云TStack获“下一代云计算技术创新奖”,助力云生态信息创新发展
  3. jQuery之防止【冒泡事件】,阻止默认行为 【return false】 event.stopPropagation event.preventDefault...
  4. 结构体变量和结构体指针变量作为函数参数传递问题
  5. Android初学第53天
  6. C++中XMLHTTPRequest异步使用onreadystatuschange
  7. blongsTo 用法
  8. Windows Internet Explorer 8 for Windows Vista 和 Windows Server 2008
  9. android dialog的封装,Android系统Dialog的简单封装
  10. html5 教程网站
  11. 什么技术才值得你长期投入? | 凌云时刻
  12. RRD_rrd4j的使用说明
  13. ibm vios_使用IBM地理分散弹性解决方案在生产现场保留冗余VIOS配置
  14. Python日报0507 - PyQt5实现打卡登记系统
  15. 跟着项目学设计模式(六):三层架构
  16. 暗棕色发出绿光的扁豆碳/氧化镍量子点HB-CQDs-FITC 修饰荧光素的制备过程
  17. 传统网络变压器和电容试片式性能区别
  18. HTML5商业解决方案公司网页模板
  19. css overflow属性及使用方法(场景)
  20. 建立合格的跨职能团队,你需要知道这些

热门文章

  1. 这所211非常保护一志愿,录取最低分263分,多个专业上线即录取!
  2. TYD_初识python数据可视化库-Matplotlib
  3. Vue+SpringBoot+OSS+element实现图片上传服务器+图片展示墙
  4. Docker系列之(一):10分钟玩转Docker
  5. 画好动漫男性角色有哪些技巧?
  6. 【使用Spring Cloud Gateway构建微服务网关】—— 每天一点小知识
  7. 暴走漫画gif爬取及保存
  8. idea新建项目报错org.codehaus.plexus.component.repository.exception.ComponentLookupException:
  9. 温故而知新,重温 Java 7 的那些“新”特性
  10. 实操教程|怎样制作目标检测的训练样本图像?