文本編碼、解碼方法及所對應(yīng)的編解碼系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種文本編解碼技術(shù),特別涉及文本編碼、解碼方法及所對應(yīng)的編解碼系統(tǒng)。
【背景技術(shù)】
[0002]人們在利用傳輸協(xié)議來傳輸文本信息時,會忽略傳輸協(xié)議和部分文本信息可能相同的情況。因此,在解碼被傳輸協(xié)議封裝的文本信息時,會將文本信息中的有效數(shù)據(jù)信息作為協(xié)議的一部分進行解碼,進而導(dǎo)致部分文本信息中的數(shù)據(jù)被丟棄。如此使得所解碼處的文本信息不完整或不可用。
[0003]為了解決上述問題,技術(shù)人員將全部文本信息進行編碼,使得編碼后的文本信息過長,增加了數(shù)據(jù)流量和編解碼系統(tǒng)的運算負(fù)擔(dān)。因此,需要對現(xiàn)有的文本編碼、解碼技術(shù)進行改進。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于提供一種文本編碼、解碼方法及所對應(yīng)的編解碼系統(tǒng),用于解決現(xiàn)有技術(shù)中的文本信息編解碼過于復(fù)雜、增加了數(shù)據(jù)流量的問題。
[0005]為解決上述技術(shù)問題,本發(fā)明的實施方式提供了一種文本編碼方法,包含:預(yù)設(shè)起始標(biāo)志、結(jié)束標(biāo)志和轉(zhuǎn)碼標(biāo)志,其中,所述轉(zhuǎn)碼標(biāo)志不等于所述起始標(biāo)志和結(jié)束標(biāo)志;按照預(yù)設(shè)的轉(zhuǎn)碼規(guī)則,將所述數(shù)據(jù)封包中與所述起始標(biāo)志、結(jié)束標(biāo)志和轉(zhuǎn)碼標(biāo)志相同的數(shù)據(jù)字節(jié)與所述轉(zhuǎn)碼標(biāo)志進行轉(zhuǎn)碼處理,以得到不同于所述起始標(biāo)志、結(jié)束標(biāo)志和轉(zhuǎn)碼標(biāo)志的轉(zhuǎn)碼結(jié)果,并用所得到的轉(zhuǎn)碼結(jié)果和所述轉(zhuǎn)碼標(biāo)志來替換所述數(shù)據(jù)字節(jié);在替換后的數(shù)據(jù)封包的首尾處對應(yīng)增加所述起始標(biāo)志和結(jié)束標(biāo)志,并予以發(fā)送。
[0006]基于上述目的,本發(fā)明還提供一種文本解碼方法,包括:預(yù)設(shè)起始標(biāo)志、結(jié)束標(biāo)志和轉(zhuǎn)碼標(biāo)志,其中,所述轉(zhuǎn)碼標(biāo)志不等于所述起始標(biāo)志和結(jié)束標(biāo)志字節(jié);基于所述起始標(biāo)志和結(jié)束標(biāo)志,從所獲取的數(shù)據(jù)包中提取數(shù)據(jù)封包;檢查所述數(shù)據(jù)封包中的所述轉(zhuǎn)碼標(biāo)志,按照預(yù)設(shè)的轉(zhuǎn)碼規(guī)則將包含所述轉(zhuǎn)碼標(biāo)志的兩個字節(jié)的數(shù)據(jù)轉(zhuǎn)換成一數(shù)據(jù)字節(jié),并用所述數(shù)據(jù)字節(jié)來替換所述兩個字節(jié)的數(shù)據(jù),以得到原始的數(shù)據(jù)封包。
[0007]基于上述目的,本發(fā)明還提供一種文本編碼系統(tǒng),包含:第一存儲模塊,用于存儲預(yù)設(shè)的起始標(biāo)志、結(jié)束標(biāo)志和轉(zhuǎn)碼標(biāo)志,其中,所述轉(zhuǎn)碼標(biāo)志不等于所述起始標(biāo)志和結(jié)束標(biāo)志;編碼模塊,用于按照預(yù)設(shè)的轉(zhuǎn)碼規(guī)則,將所述數(shù)據(jù)封包中與所述起始標(biāo)志、結(jié)束標(biāo)志和轉(zhuǎn)碼標(biāo)志相同的數(shù)據(jù)字節(jié)與所述轉(zhuǎn)碼標(biāo)志進行轉(zhuǎn)碼處理,以得到不同于所述起始標(biāo)志、結(jié)束標(biāo)志和轉(zhuǎn)碼標(biāo)志的轉(zhuǎn)碼結(jié)果,并用所得到的轉(zhuǎn)碼結(jié)果和所述轉(zhuǎn)碼標(biāo)志來替換所述數(shù)據(jù)字節(jié);封裝模塊,用于在替換后的數(shù)據(jù)封包的首尾處對應(yīng)增加所述起始標(biāo)志和結(jié)束標(biāo)志,并予以發(fā)送。
[0008]基于上述目的,本發(fā)明還提供一種文本解碼系統(tǒng),包括:第二存儲模塊,用于存儲預(yù)設(shè)的起始標(biāo)志、結(jié)束標(biāo)志和轉(zhuǎn)碼標(biāo)志,其中,所述轉(zhuǎn)碼標(biāo)志不等于所述起始標(biāo)志和結(jié)束標(biāo)志字節(jié);解封裝模塊,用于基于所述起始標(biāo)志和結(jié)束標(biāo)志,從所獲取的數(shù)據(jù)包中提取數(shù)據(jù)封包;解碼模塊,用于檢查所述數(shù)據(jù)封包中的所述轉(zhuǎn)碼標(biāo)志,按照預(yù)設(shè)的轉(zhuǎn)碼規(guī)則將包含所述轉(zhuǎn)碼標(biāo)志的兩個字節(jié)的數(shù)據(jù)轉(zhuǎn)換成一數(shù)據(jù)字節(jié),并用所述數(shù)據(jù)字節(jié)來替換所述兩個字節(jié)的數(shù)據(jù),以得到原始的數(shù)據(jù)封包。
[0009]本發(fā)明實施方式相對于現(xiàn)有技術(shù)而言,通過在數(shù)據(jù)封包外設(shè)置起始標(biāo)志和結(jié)束標(biāo)志,能夠幫助解碼系統(tǒng)識別一個完整數(shù)據(jù)封包,防止數(shù)據(jù)封包中的部分信息被當(dāng)作協(xié)議的部分而被丟棄。
[0010]另外,本發(fā)明將所述數(shù)據(jù)字節(jié)與預(yù)設(shè)的轉(zhuǎn)碼標(biāo)志進行邏輯運算,以將運算結(jié)果和所述轉(zhuǎn)碼標(biāo)志替代所述數(shù)據(jù)字節(jié)。能夠防止數(shù)據(jù)封包中包含與所述起始標(biāo)志和結(jié)束標(biāo)志相同的數(shù)據(jù)字節(jié),而被解碼系統(tǒng)誤操作的破壞了數(shù)據(jù)封包。同時,以轉(zhuǎn)碼標(biāo)志來標(biāo)識數(shù)據(jù)封包中被轉(zhuǎn)碼的字節(jié),僅在原來數(shù)據(jù)封包的基礎(chǔ)上增加I個字節(jié),不僅大大降低了解碼的難度,更減少了數(shù)據(jù)流量。
[0011]另外,當(dāng)數(shù)據(jù)封包中包含與所述轉(zhuǎn)碼標(biāo)志相同的數(shù)據(jù)字節(jié)時,以兩個轉(zhuǎn)碼標(biāo)志來代表所述數(shù)據(jù)字節(jié),一方面有效減少了數(shù)據(jù)流量,另一方面,仍然降低了解碼難度。
[0012]還有,對數(shù)據(jù)塊進行校驗?zāi)軌虼_保解碼系統(tǒng)驗證所接收的數(shù)據(jù)塊是否完整。有效保證了后續(xù)數(shù)據(jù)處理的正確性。
【附圖說明】
[0013]圖1是本發(fā)明的第一實施方式的文本編碼方法的流程圖;
[0014]圖2是本發(fā)明的第二實施方式的文本解碼方法的流程圖;
[0015]圖3是本發(fā)明的第三實施方式的文本編碼系統(tǒng)結(jié)構(gòu)圖;
[0016]圖4是本發(fā)明的第四實施方式的文本解碼系統(tǒng)結(jié)構(gòu)圖。
【具體實施方式】
[0017]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明的各實施方式進行詳細(xì)的闡述。然而,本領(lǐng)域的普通技術(shù)人員可以理解,在本發(fā)明各實施方式中,為了使讀者更好地理解本申請而提出了許多技術(shù)細(xì)節(jié)。但是,即使沒有這些技術(shù)細(xì)節(jié)和基于以下各實施方式的種種變化和修改,也可以實現(xiàn)本申請各權(quán)利要求所要求保護的技術(shù)方案。
[0018]實施例一
[0019]如圖1所示,本發(fā)明的第一實施方式涉及一種文本編碼方法。所述文本編碼方法主要由文本編碼系統(tǒng)來執(zhí)行。其中,所述文本編碼系統(tǒng)包括電子設(shè)備的軟件和硬件。所述電子設(shè)備包括任何能夠按照預(yù)設(shè)程序進行數(shù)值和邏輯運算的設(shè)備,其包括但不限于:單個/多個服務(wù)器、個人終端、移動設(shè)備、嵌入式設(shè)備等。
[0020]在所述文本編碼系統(tǒng)中預(yù)設(shè)有起始標(biāo)志、結(jié)束標(biāo)志和轉(zhuǎn)碼標(biāo)志。其中,所述起始標(biāo)志、結(jié)束標(biāo)志和轉(zhuǎn)碼標(biāo)志均設(shè)為單字節(jié)數(shù)據(jù)。所述起始標(biāo)志、結(jié)束標(biāo)志和轉(zhuǎn)碼標(biāo)志彼此不同。優(yōu)選地,所述起始標(biāo)志、結(jié)束標(biāo)志和轉(zhuǎn)碼標(biāo)志均不為全O和全I字節(jié)。
[0021]所述文本編碼系統(tǒng)將所要編碼的數(shù)據(jù)塊封裝在數(shù)據(jù)封包中。為了確保所對應(yīng)的解碼系統(tǒng)驗證所述數(shù)據(jù)塊的完整性,優(yōu)選的,所述數(shù)據(jù)封包中還包含:校驗塊。
[0022]對應(yīng)的,在所述文本編碼系統(tǒng)進行編碼之前,所述文本編碼方法執(zhí)行步驟S10。(未予圖示)
[0023]在步驟SlO中,所述文本編碼系統(tǒng)將所述數(shù)據(jù)塊中的所有字節(jié)做數(shù)值計算,根據(jù)所得到的數(shù)值計算結(jié)果來設(shè)定所述校驗塊。
[0024]具體地,所述文本編碼系統(tǒng)將所述數(shù)據(jù)塊中的所有字節(jié)做加法運算,得到一多字節(jié)的數(shù)值。所述文本編碼系統(tǒng)可以將所述多字節(jié)的數(shù)值取反、或?qū)⑺龆嘧止?jié)的數(shù)值與預(yù)設(shè)的同等字節(jié)的數(shù)值進行異或運算等,所得到的結(jié)果作為所述校驗塊。
[0025]優(yōu)選地,所述文本編碼系統(tǒng)將所得到的數(shù)值計算結(jié)果中的預(yù)設(shè)字節(jié)進行拆分,并將拆分后的多個字節(jié)作為所述校驗塊。
[0026]例如,所述文本編碼系統(tǒng)提取所述多字節(jié)的數(shù)值中的最后一字節(jié)數(shù)值,再將所提取的字節(jié)數(shù)值按照低位和高位拆分成兩個字節(jié),其中,所述高位位于第一個字節(jié)的高位,所述低位位于第二個字節(jié)的低位,該兩個字節(jié)的其他位用全O或全I補位。則所述校驗塊設(shè)置為所述第一個字節(jié)和第二個字節(jié)。則所述文本編碼系統(tǒng)將所述數(shù)據(jù)塊和校驗塊進行封包。
[0027]需要說明的是,本領(lǐng)域技術(shù)人員應(yīng)該理解,所述校驗塊的取得方式僅為舉例。而非對本發(fā)明的限制?,F(xiàn)有技術(shù)中、或今后出現(xiàn)的校驗塊的取得方式如能夠適用本發(fā)明,也應(yīng)包含在本發(fā)明所述范圍之內(nèi)。
[0028]在步驟S