最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

通讯报文学习手册

来源:动视网 责编:小OO 时间:2025-10-02 10:58:03
文档

通讯报文学习手册

通讯报文学习手册1常用报文类型目前常用报文类型包括:ISO8583报文、定长报文、不定长报文、XML报文、分隔符报文2ISO8583报文ISO8583包(简称8583包)是一个国际标准的包格式,最多由128个字段域组成,每个域都有统一的规定,并有定长与变长之分。8583包前面一段为位图,用来确定包的字段域组成情况。其中位图是8583包的灵魂,它是打包解包确定字段域的关键,而了解每个字段域的属性则是填写数据的基础。在网络中传输报文的格式是不断变化的,报文中使用位图来标识报文中有哪些域而没有哪些域
推荐度:
导读通讯报文学习手册1常用报文类型目前常用报文类型包括:ISO8583报文、定长报文、不定长报文、XML报文、分隔符报文2ISO8583报文ISO8583包(简称8583包)是一个国际标准的包格式,最多由128个字段域组成,每个域都有统一的规定,并有定长与变长之分。8583包前面一段为位图,用来确定包的字段域组成情况。其中位图是8583包的灵魂,它是打包解包确定字段域的关键,而了解每个字段域的属性则是填写数据的基础。在网络中传输报文的格式是不断变化的,报文中使用位图来标识报文中有哪些域而没有哪些域
通讯报文学习手册

1常用报文类型

目前常用报文类型包括:ISO8583报文、定长报文、不定长报文、XML报文、分隔符报文

2ISO8583报文

ISO8583包(简称8583包)是一个国际标准的包格式,最多由128个字段域组成,每个域都有统一的规定,并有定长与变长之分。8583包前面一段为位图,用来确定包的字段域组成情况。

其中位图是8583包的灵魂,它是打包解包确定字段域的关键, 而了解每个字段域的属性则是填写数据的基础。

在网络中传输报文的格式是不断变化的,报文中使用位图来标识报文中有哪些域而没有哪些域。一个报文中可以有一个或两个位图位图在报文中位置如图所示:

报文类型标识符位 图

报文域
                           位图1=域2-

                   位图2=域66-128

图1 位图

2.1第一个位图

第一个位图又称为主位图,每一个报文都有主位图。它由个二进制位(8个字节)构成,位于报文类型标识符之后。除了第一位,每一位和一个域相对应,即和域2到域相对应。每位的值指示该域是否出现在报文中:

如果一个位为0,与之对应的域不出现在报文中;

如果一个位为1,与之对应的域出现在报文中。

域号是1的域不存在。主位图的第一位用来指明在主位图后是否还有第二个位图,称为位图二。位图二的说明见下节。

下图说明了位图的位置和功能。在这个例子中,位图第一位是0,表示主位图后没有第二个位图。第2、3、4位是1,表示域2、3、4出现在报文中。第5、6位是0,表示报文中没有域5、6。第7位是1,表示域7出现在报文中,依次类推。

图2 第一个位图示例

2.2第二个位图

主位图的第一位指明了主位图后是否有位图二。和主位图相同,位图二也由个二进制位(八字节)构成。可以认为位图二是主位图的扩展,和域66到128相对应。报文域65不存在。

只有当报文中包含有域66到域128中的域,位图二才会使用到。位图二紧接着主位图,并在报文域之前。下图显示了位图二的位置和功能。主位图的第一位是1表示位图二的存在。如果位图中的哪一位为1,表示以该位序号为序号的域存在。例如,位图二中的位90是1,表示报文中有域90存在。

图3 第二个位图示例

2.3程序处理的准则

本节详细说明CUPS处理报文数据时的规则。

2.3.1报文的长度

正确的报文最大长度不超过1846字节。

错误的报文最大长度不超过12字节。

2.3.2数据的表示

对于ISO8583报文中的域规定为数字的,CUPS以数字的ASCII码表示。本文中以这种方式表示:

nx,x位定长数字字符

对于ISO 8583报文中的域规定为字符和数字的,CUPS以字符和数字ASCII码表示,本文中以这种方式表示:

anx,x位定长的字母和数字字符

对于一些域,虽然定义为字符和数字,实际内容的取值也可能只是数字,例如域37—检索参考号。

标记为ans的域表示该域除了字母和数字,还允许有特殊字符,比如破折号、斜杠等。

2.3.3域的对齐

所有域以字节边界对齐。

2.3.4域的长度

ISO标准中规定的可变长度域最长可以达到999个字节。本文中的域描述给出了每个可变长度域的最大长度字节数,这个长度适应于整个域,该域中所有子域的长度和应小于等于整个域的长度。

所有的长度值不包括长度子域本身的长度。报文域的长度占位含义依赖于域的属性,可以是字母、数字或二进制位。

此规定可以让其它网络和系统的应用能正确的跳过这些域。

所有的二进制位域,如位图和PIN,它们的位串必须被正确的构造。

2.3.5变长域处理

对于变长域通常定义为如下格式:ansb...512(LLLVAR)

其中”ansb”:表示数据类型为字母、数字、特殊字符、二进制数

“...512”:表示最大长度为512个字节

“LLLVAR”:L表示长度位,LLL表示3个字节的长度

ansb...512(LLLVAR):3个字节的长度值+最大512个字节(字母、数字、特殊字符、二进制数)的数据

2.3.6对未使用位置的填充

对于固定长度的报文域有以下填充规则:

1——如果是数字域,右靠齐,左边多余位填零;

2——如果不是数字域,左靠齐,右边多余位填空格。

2.3.7带有可选择子域的报文域

如果一个域带有子域,并且不是全部子域都要求出现在报文中,那么只要该域的任何一个子域出现在报文中,该域在位图中对应的位就要设为1。

2.4BCD码

二进制编码的十进制数,简称BCD码(Binarycoded Decimal). 这种方法是用4位二进制码的组合代表十进制数的0,1,2,3,4,5,6 ,7,8,9 十个数符。4位二进制数码有16种组合,原则上可任选其中的10种作为代码,分别代表十进制中的0,1,2,3,4,5,6,7,8,9 这十个数符。最常用的BCD码称为8421BCD码,8.4.2.1 分别是4位二进数的位取值。 点击此处将给出十进制数和8421BCD编码的对应关系表。  1、BCD码与十进制数的转换 BCD码与十进制数的转换.关系直观,相互转换也很简单,将十进制数75.4转换为BCD码如: 75.4=(0111 (0101.0100)BCD 若将BCD码1000 0101.0101转换为十进制数如: (1000 0101.0101)BCD=85.5  注意:同一个8位二进制代码表示的数,当认为它表示的是二进制数和认为它表示的是二进制编码的十进制数时,数值是不相同的。  例如:00011000,当把它视为二进制数时,其值为24;但作为2位BCD码时, 其值为18。  又例如00011100,如将其视为二进制数,其值为28,但不能当成BCD码,因为在8421BCD码中,它是个非法编码

3定长报文

定长报文,应该是目前使用最广泛的报文,是报文类型中的元老级别人物了,定长报文也比较简单,理解起来也比较方便。但是定长报文也有其局限性,它的最大弱点就是担心以后所定义域的长度要加长,这个时候配置或程序就要改变。

4不定长报文

由长度+数据组成,长度用一个字节的二进制数表示,数据全部转换成字符串传送,字符串的最大长度由系统的BYTE_MAX_LEN宏定义指定,大于该长度的部分系统保留作为控制命令用。如果数据单元的长度超过BYTE_MAX_LEN,则分段发送,0xFF作为超长数据的标志。例如要传768字节数据,由于系统定义BYTE_MAX_LEN为250,则该数据段为0xFF+250字符+0xFF+250字符+0xFF+250字符+0x12+18字符;如要传250字节数据时,则该数据段为0xFA+250字符。

5XML报文

XML是eXtensible Markup Language的缩写。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。

6分隔符报文

报文各域之间使用特殊符号区分,一般使用”|”作为分隔符,也可以使用其它符号作为报文之间的分隔符。

文档

通讯报文学习手册

通讯报文学习手册1常用报文类型目前常用报文类型包括:ISO8583报文、定长报文、不定长报文、XML报文、分隔符报文2ISO8583报文ISO8583包(简称8583包)是一个国际标准的包格式,最多由128个字段域组成,每个域都有统一的规定,并有定长与变长之分。8583包前面一段为位图,用来确定包的字段域组成情况。其中位图是8583包的灵魂,它是打包解包确定字段域的关键,而了解每个字段域的属性则是填写数据的基础。在网络中传输报文的格式是不断变化的,报文中使用位图来标识报文中有哪些域而没有哪些域
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top