文章試讀
不拘乙個遍程式系列
:程式設計序不能乙個腦袋鑽到底,有時要學會變通,即所謂的曲線救國。一
、二、三、四
職場規劃:一些雜七雜八的職場感悟吧。不值錢的軟體人才
精力充沛與事業成功
讓係分來得更猛烈些吧
不值錢的系統分析師
經濟危機下大學生如何就業
我的詩歌:都是我的打油詩,但是很值得一讀。不要工作還衣食無憂之四難歌
香格里拉美人圖
寶寶:超可愛的小寶寶 寫部落格
考試培訓:主要是關於考研、軟考和等級的相關題解。2009考研試題分析
2023年12月程式設計師試題分析
2023年軟考備考全攻略
2023年5月程式設計師試題解析
《精通unix下c語言程式設計與專案實踐》之十一
資料傳輸技術之字串報文
在電腦程式中經常需要進行資料交換,通常做法是先將要交換的資料按照一定的格式組合起來,再把這些組合資料作為乙個整體傳遞給對方。這個經過組合的資料就是報文,每個要交換的資料就是資料域,將資料域組合成報文的過程稱為報文組包或報文打包,從報文中提取出資料域的過程稱為報文解包或者報文解析。
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
報文的組織形式多種多樣,常見的有字串報文、
8583
包報文、
xml報文、結構報文等等,某些程式甚至可以定義自己的報文組織形式。
字串報文就是由各種不同資料型別的資料域組合而成的一行字元,資料在組包前必須先要轉化成字串格式,然後才能構成字串報文。同樣的,字串報文在解包時,也要先分解出字串型的資料域,再將這些字串轉化為特定型別的資料值。
字串報文是指將各種不同資料型別的資料域資訊轉化為字串,再組合成一行字元的報文形式。根據報文中同一資料域每次所占用的字元位元組數的情況,字串報文可以分為以下幾種:
1. 固定長度字串報文
簡稱固定長度報文,報文中的每個資料域在報文中都占用某個特定的位元組長度,不會隨著資料域具體內容的變化而變化。如
18-1
是某個銀行代發工資系統中固定長度字串報文檔案的例子:
表18-1
固定長度字串報文
0123456
7890
1234
5678
9012
3456
7890
1195
5990
1099
999z
yx12
34.2
1253
5910
1098
8hup
ing1
9732
.011
卡號域,
13個位元組長度
姓名域,6位元組
資金域,
12位元組
以上每條報文均長
32個位元組,分為
4個資料域,每個域的含義如表
18-2
所示:
表18-2
固定長度字串報文例項解析
編號
長度
說明
型別
第一行內容
第二行內容
11
行序號整型12
213卡號字串
9559901099999
5359101098836
姓名字串
zyxhuping412
資金浮點型
1234.21
19732.01
2. 固定分隔字串報文
簡稱固定分隔報文,報文中的每個資料域在報文中占用的位元組長度不固定,域與域之間通過某個特定的字串來分隔,如表
18-3
是由字串「|」
分隔的報文例項。
表18-3
固定分隔字串報文
以上報文與表
18-1
中的固定長度報文描述的是同一例項,但此處第
1條報文長
26位元組,第
2條報文長
28位元組,可見固定分隔字串報文的每條報文長度並不一致,同時每個資料域中一般不會有多餘的空格。
3. 混合格式字串報文
簡稱組合報文,它混和了前兩種報文的組織格式,一般有三種表現形式:
(1)
固定長度報文中某資料巢狀乙個固定分隔報文,如表
18-4
所示;
表18-4
固定長度報文巢狀固定分隔報文
整個報文全長
28個位元組,共分為
3個資料域。其中第二個資料域長
15個位元組,由乙個固定分隔報文組成。這個固定分隔報文以字串「
,」分隔開,共兩個域,第乙個域表示姓名,第二個域表示資金。
(2)
固定分隔報文中某資料域巢狀乙個固定長度報文,如表
18-5
所示:
表18-5
固定分隔報文巢狀固定長度報文
條報文長
29個位元組,第
2條報文長
27個位元組,共分為
3個資料域。其中第二個資料域由乙個固定長度報文組成,這個固定長度報文分為兩個域:第乙個域表示姓名,共
6個位元組;第二個域表示資金,共
8個位元組。
(3)
固定長度報文的資料域之間由字串之間通過某個特定的字串來分隔,如表
18-6
是由字串「
|」分隔的報文例項:
表18-6
固定字串分隔的固定長度報文
整個報文全長
22個位元組,共分為
3個資料域,每個域分別長
4位元組、
6位元組和
10位元組,域與域之間通過字串「
|」分隔。
字串報文具有簡單和便於理解的特點,因此被廣泛的運用於實際的資料傳送中。一般來講,字串報文的傳送有兩種最常見的方式:報盤方式和實時交易方式:
1. 報盤方式
本方式一般應用於批量業務中。比如某單位委託銀行為其員工代發工資,單位將先把每個員工的工資資訊組包成一條字串報文,然後把這些報文合寫在乙個檔案中,最後把這個檔案通過手工或自動
ftp等方式傳送給銀行。銀行則解析此檔案中的每一條報文資訊,然後執行批量代發業務。
2. 實時交易方式
本方式一般應用於零星業務中。比如每當有交易發生時,
atm都將交易的基本資訊組包成一條字串報文,然後將這個字串通過套接字通訊等方式傳送到銀行主機。銀行主機則解析此條報文資訊,再執行相應的交易。
封面 前言
目錄 策劃
作者動態庫
變長引數
檔案鎖外設
僵死程序
定時器i/o重定向
訊息佇列
共享記憶體
實踐專案:
開發網頁投票器(一)
(二)
開發網頁投票器
字串報文
delphi刪除自身執行程式的方法
procedure deleteme varbatchfile textfile batchfilename string processinfo tprocessinformation startupinfo tstartupinfo begin batchfilename extractfile...
linux 開機執行程式的方法
開機執行程式的方法 1.在 etc rc.d rc.local檔案中加入程式路徑及程式名 或2.在 etc rc.d init.d 中新增可執行程式,然後在 etc rc.d rcn.d 中新增符號鏈結 n表示執行級別 先檢視 etc inittab檔案中當前系統設定的預設級別,再將符號連線新增到對...
Linux定時啟動執行程式的方法
參考 cron 是乙個可以用來根據時間 日期 月份 星期的組合來排程對重複任務的執行的守護程序。cron 假定系統持續執行。如果當某任務被排程時系統不在執行,該任務就不會被執行。要使用 cron 服務,你必須安裝了 vixie cron rpm 軟體包,而且必須在執行cron服務。要判定該軟體包是否...