报文格式:xml 、定长报文、变长报文

2018-06-24 00:23:19来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

目前接触到的报文格式有三种:xml 、定长报文、变长报文 。

此处只做简单介绍,日后应该会深入学习到三者之间如何解析,再继续更新。——2016.9.23

 

XML

XML 被设计用来传输和存储数据。

HTML 被设计用来显示数据。

XML 仅仅是纯文本

XML 没什么特别的。它仅仅是纯文本而已。有能力处理纯文本的软件都可以处理 XML。

不过,能够读懂 XML 的应用程序可以有针对性地处理 XML 的标签。标签的功能性意义依赖于应用程序的特性。

通过 XML 您可以发明自己的标签

例子:

XML 使用简单的具有自我描述性的语法:

<?xml version="1.0" encoding="ISO-8859-1"?> <note> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body>

  

上例中的标签没有在任何 XML 标准中定义过(比如 <to> 和 <from>)。这些标签是由文档的创作者发明的。

这是因为 XML 没有预定义的标签。

在 HTML 中使用的标签(以及 HTML 的结构)是预定义的。HTML 文档只使用在 HTML 标准中定义过的标签(比如 <p> 、<h1> 等等)。

XML 允许创作者定义自己的标签和自己的文档结构。

 

优缺点:

可读性强,易于维护;

国际通用标准格式,不易于被防火墙拦截;

节点臃肿,占用大量内存,传输慢。

定长报文

  目前应用最广泛的报文。

  定义:使用固定的长度表示一个信息。定长定长,就是固定长度,我暂时是这样理解的。

  优点:省去多余的节点,传输数据更快。

  局限性:担心以后所定义域的长度要加长,配置或程序就要随之改变,维护困难。

例子:

比如定义一个18字节的报文:abcde12345fghigklm

abcde为一个域,12345为一个域,fghigklm为一个域。这些都是根据编写者定义的。如果业务需求要求报文增加日期,则需要修改报文为:abcde12345fghigklm20160923,现在则是一个26字节的报文了。

如果定长报文含有多个域,并且后期更改的域的格式有很多,这种情况就凸显了定长报文的局限性。

 

变长报文

结合xml的可维护性和定长报文的占空间少。

1 例子:03abc051234502ef
2 说明:03  此域的长度标识(没有规范命名,暂且成为长度标识),向后取3位,即:abc
3    05 此域的长度标识,向后取5位,即: 12345
4 02 向后取2位,即: ef

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:如何解决子元素设了margin-top之后父元素所受的影响

下一篇:sass+require实现侧边栏