目前接觸到的訊息格式有三種:xml 、定長訊息、變長訊息 。
此處只做簡單介紹,日後應該會深入學習到三者之間如何解析,再繼續更新。 ——2016.9.23
XML 被設計用來傳輸和儲存資料。
HTML 被設計用來顯示資料。
XML 沒什麼特別的。它只是純文字而已。有能力處理純文字的軟體都可以處理 XML。
不過,能夠讀懂 XML 的應用程式可以有針對性地處理 XML 的標籤。標籤的功能性意義依賴於應用程式的特性。
範例:
XML 使用简单的具有自我描述性的语法:<br /><br /><?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 標準中定義過(例如
這是因為 XML 沒有預先定義的標籤。
在 HTML 中使用的標籤(以及 HTML 的結構)是預先定義的。 HTML 文件只使用在 HTML 標準中定義過的標籤(例如
、
XML 允許創作者定義自己的標籤和自己的文件結構。
優缺點:
可讀性強,易於維護;
國際通用標準格式,不容易被防火牆攔截;
節點臃腫,佔用大量內存,傳輸慢。
目前應用最廣泛的報文。
定義:使用固定的長度表示一個訊息。定長定長,就是固定長度,我暫時是這樣理解的。
優點:省去多餘的節點,傳輸資料更快。
限制:擔心以後所定義域的長度要加長,配置或程序就要隨之改變,維護困難。
範例:
例如定義一個18位元組的封包:abcde12345fghigklm
abcde為一個域,12345為一個域,fghigklm為一個域。這些都是根據編寫者定義的。如果業務需求要求報文增加日期,則需要修改報文為:abcde12345fghigklm20160923,現在則是一個26位元組的報文了。
如果定長報文含有多個域,且後期更改的域的格式有很多,這種情況就凸顯了定長報文的限制。
結合xml的可維護性和定長報文的佔空間少。
<span style="color: #008080;">1</span> <span style="color: #000000;">例子:03abc051234502ef </span><span style="color: #008080;">2</span> 说明:03 此域的长度标识(没有规范命名,暂且成为长度标识),向后取3位,即:abc<br />3 05 此域的长度标识,向后取5位,即: 12345<br />4 02 向后取2位,即: ef