Git Product home page Git Product logo

java8583's Introduction

Java8583

写在前面的话:

不愿意看作者废话的,自行找测试包中的QuickStart.java,花费5分钟,快速入门,拿起键盘就是干!!!

下面是正文

现在已经记不起来当初是出于什么样的原因从J8583切换到的Simple8583的了。

但是,这并不能否认这两者在我第一次做银行收单项目时为我提供的帮助。

编写Java8583第一版用了3天时间。至于为什么要重复造轮子的原因在于,当我重新开始做报文解析的时候,我竟然不能很快的使用Simple8583写出一个单元测试来。

至于为什么不能很快写出来一个单元测试,可能是因为我很长时间没用的原因,也或者是略微麻烦了?出于这个原因,我才决定去写一个可以很快写出单元测试的解析框架包来。

也正因为如此,也就有了这个重复的轮子。不求代码多好,但求我下次再开始的时候,抬手就来...

作者的问答:

  1. Java8583是什么?
    Java8583是一个具有轻量级,代码量少,无第三依赖等特点的基于Java语言实现的ISO8583协议框架。

  2. Java8583的优点?
    Java8583作为一个ISO8583协议的Java实现,其自身代码量小,没有第三方依赖。接口简单友好,可作为工具包单独存在。

  3. Java8583的不足?
    Java8583在开发时,为了操作方便,理解方便,好多地方的操作并不是最佳实践。

  4. Java8583都做了哪些?
    Java8583主要职责负责于实现ISO8583报文协议的解析与拼装。

  5. Java8583没有做的都有什么?
    首先,Java8583中,所有的域都是一般域,依照编码方式分类,没有数据类型,数据不做强校验。这些都由业务开发人员自行决定。
    其次,Java8583秉承各司其职的想法,只支持对报文的拼装与解析,不会去考虑集成耦合别的代码,比如socket通信。具体通信方式,皆有业务开发人员决定,代码不做关注。

最后,关于框架的使用,还烦请参考test包下的QuickStart.java进行学习。里面详细描述了整个Java8583中所涉及到了的api,参数类型,配置方式,解析描述等等内容。

代码量短,花费5分钟,掌握如何上手ISO8583...

v1.0 by Ajsgn

2017-08-12 18:03:22

update 2017-8-20 10:59:02 更新tlv字段解析,以及55域解析实现

1、更新tlv字段解析,以及55域解析实现。
因为文档上多字节长度的字节长度处理没看明白,所以还请清楚的朋友们可以讲解下,暂时解析到那里的时候,会抛出RuntimeException。
下面附上我看到的文档描述:
当L字段最左边字节的最左bit位(即bit8)为1,表示该L字段不止占一个字节,那么它到底占几个字节由该最左字节的后续7个bit位(即bit7~bit1)的十进制取值表示。例如,若最左字节为10000010,表示L字段除该字节外,后面还有两个字节。其后续字节的十进制取值表示子域取值的长度。例如,若L字段为“1000 0001 1111 1111”,表示该子域取值占255个字节。所以,若子域取值的长度在127~255字节之间,那么该L字段本身需占两个字节。

java8583's People

Contributors

ajsgn avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.