8583的诞生:为了设计一个通用报文协议,来解决金融系统之间的报文交换,暂且称该协议叫做ISO8583协议。
这个报文头多少bit:8583报文头总共16个字节、128bit,每一bit都代表了一个数据域,这些数据域有账号、商户类型等等,当然还有一些保留位(用不到这么多域)。每一bit的含义直接对着表看就可以。
怎么收发呢?:如果我只传128个字段的5个字段,接收方怎么知道我传了哪几个字段给它了。要是我们把剩下的123全部填成0或其他特殊标识,标明该字段不需要使用?这种处理方法没有半点用处,没有解决网络带宽的本质问题,还是要传128个字段。我们在报文前面加上个包头,包头里面包含的信息能够让别人知道只传了5个字段。怎样设计这个包头,可以这样,我们用2个字节,即128个bit(一个字节等于8bit)来表示128个字段中的某个字段是否存在。每个bit在计算机的二进制里面不是1就是0,如果是1就表示对应的字段在本次报文中存在,如果是0就是不存在。这样好了,如果别人接收到了ISO8583报文,可以先根据最前面的报文头,就知道紧接着报文头后面的报文有哪些字段,没有哪些字段了。比如,我要发送5个字段,分别属于128个字段中的第2、3、6、8、9字段,我就可以将128bit的报文头填成011001011000000000………..,一共128个bit,后面就全是0了。注意其中第2、3、6、8、9位为1,其他都为0。
有了这个128bit的报文头,我们就可以只发送需要的5个字段了。怎样组织报文?先放上这128bit,即2个字节的
8583报文协议
最新推荐文章于 2023-08-28 19:14:13 发布
ISO8583协议是金融系统间报文交换的通用协议,报文头由16个字节组成,用于标识存在的数据域。通过在报文头中用1表示存在的字段,0表示不存在,接收方可以根据报文头解包。实际应用中,常用字段放在前面,首个位为1表示后64位有域,0则表示64位足够。每个字段的数据类型如字符、数字等都有规定,长度不定的数据用L(9)、LL(99)等表示。
摘要由CSDN通过智能技术生成