码迷,mamicode.com
首页 > 其他好文 > 详细

(转) 报文格式【定长报文】

时间:2018-08-13 12:10:26      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:接收   follow   获取   tar   生成   size   .net   汉字   展示   

定长报文简介

       定长报文,是目前使用最广泛的报文,同时比较简单的报文格式。理解起来也较为简单,但定长报文也有自身的局限性。其中最大的问题在于,如果定义域的长度需要加长,这时候相关的配置与程序代码都需要进行相应的改变,所以维护很不方便。
       定长报文,就是使用固定的长度来表示一个信息。本报文格式常见于金融银行业,所以以银行开户场景为例说明,例如银行柜面开户时,需要记录开户人的姓名,假定用户名用30个字节来表示,这样应该就可以满足国人的需要,15个汉字长度。当然我们这里也有开户时间的需要,那我们假定为8位长度,格式为"YYYYMMDD"。这样我们在记录这些数据是可以使用30+8(38)长度报文。但是这样问题就来,如果我们后期改变了时间的格式“YYYY-MM-DD”,这样我们就不仅要调整定长的长度,还有更改程序去生成指定时间格式。举例包含两个域,如果定长报文含有多个域,并且后期更改的域格式有很多,这种情况就凸显了定长报文的局限性。
【转载使用,请注明出处:http://blog.csdn.net/mahoking

定长报文案例


简单定长报文

        以下是简单报文示例,以银行开户为例,本例选举了些基本的信息,示例即可。技术分享图片

 

       根据上表的信息我们就拼组报文了,报文如下:
“77778710001上山打老虎         12345678912345678920141022”
将这个报文发送给后台程序的时候,后台程序就根据以上表格中定义的标准,将接收到的报文进行解析,然后再进行处理。

带变长域的定长报文

技术分享图片

       假定在20140811,发生交易金额为789.80和20141012,发生交易金额为1489.80,此时得到如下的报文:
“77778710001 02014081178980           20141012148980          ”
这样通过变长域,可以循环的输出重复字段,这样服务端也可以循环展示获取到的信息

(转) 报文格式【定长报文】

标签:接收   follow   获取   tar   生成   size   .net   汉字   展示   

原文地址:https://www.cnblogs.com/tzhyy/p/9466936.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!