專利名稱::一種數(shù)據(jù)壓縮、解壓縮的方法和裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及移動(dòng)通信中的編碼技術(shù),尤其涉及一種數(shù)據(jù)壓縮的方法和裝置,以及一種數(shù)據(jù)解壓縮的方法和裝置。
背景技術(shù):
:隨著移動(dòng)通信技術(shù)的快速發(fā)展,手機(jī)迅速進(jìn)入了人們的日常生活。同時(shí),手機(jī)的功能也越來越豐富,除了傳統(tǒng)的電話功能,人們也在同時(shí)使用手機(jī)進(jìn)行各種其它應(yīng)用,其中最普遍的就包括有關(guān)文字或文本的各種應(yīng)用,并因此不可避免的經(jīng)常涉及到文字資料的生成、收發(fā)或保存的問題。目前,當(dāng)利用手機(jī)在本地存儲(chǔ)文字資料,或者經(jīng)由通信網(wǎng)絡(luò)收發(fā)文字資料時(shí),幾乎都是采用標(biāo)準(zhǔn)的編碼方式。當(dāng)需要對(duì)文字資料進(jìn)行處理時(shí),手機(jī)利用預(yù)先設(shè)定的所述標(biāo)準(zhǔn)編碼方式對(duì)文字資料進(jìn)行編碼,然后進(jìn)行保存、發(fā)送;或者接收采用所述標(biāo)準(zhǔn)的編碼方式進(jìn)行編碼后的數(shù)據(jù),進(jìn)行解碼后得到文字資料。常見的漢字的標(biāo)準(zhǔn)編碼方式包括GB、Big5和Unicode等,英文的標(biāo)準(zhǔn)編碼方式則包括ASCII、Unicode等。當(dāng)采用上述的標(biāo)準(zhǔn)編碼方式(以中、英文為例)時(shí),每個(gè)英文字符或英文標(biāo)點(diǎn)符號(hào)的編碼長度為一個(gè)字節(jié)(Byte),每個(gè)中文字符或中文標(biāo)點(diǎn)符號(hào)的編碼長度為2個(gè)字節(jié)。這種編碼方式為每個(gè)字符設(shè)定相應(yīng)的編碼(漢字編碼是對(duì)每個(gè)漢字字符設(shè)定相應(yīng)的編碼),雖然該編碼方式簡單有效,但單位長度的標(biāo)準(zhǔn)編碼所能夠攜帶的信息量有限——即,每單位長度的英文標(biāo)準(zhǔn)編碼僅能表示一個(gè)英文字符,每單位長度的中文標(biāo)準(zhǔn)編碼僅能表示一個(gè)漢字字符——如果需要表述更多的信息,則編碼后形成的碼流長度就會(huì)更長。一個(gè)明顯的例子就是手機(jī)短信大多數(shù)用戶在使用手機(jī)時(shí),都會(huì)感覺到短信字?jǐn)?shù)的限制所造成的不便——每條英文短信一般不超過160個(gè)字母,而中文短信更是最多不超過70個(gè)漢字。一旦編寫的短信超過了160個(gè)英文字母或70個(gè)漢字字符,手機(jī)就會(huì)自動(dòng)按照最大允許的長度進(jìn)行截取后,將其分割成兩條或更多條短信分別發(fā)送。同時(shí),由于當(dāng)前無線通信中的網(wǎng)絡(luò)帶寬以及手機(jī)中的存儲(chǔ)空間都相對(duì)有限,因此必須盡量提高網(wǎng)絡(luò)帶寬和存儲(chǔ)空間的利用效率,而在通信和計(jì)算機(jī)領(lǐng)域,提高網(wǎng)絡(luò)帶寬及存儲(chǔ)空間的利用效率的常用方法就是對(duì)編碼數(shù)據(jù)進(jìn)行壓縮。目前主流的壓縮算法主要是基于Huffman的壓縮算法(如計(jì)算機(jī)中常用的壓縮軟件WinZip和WinRar等都是基于Huffman的壓縮算法實(shí)現(xiàn)的),基于Huffman的壓縮算法可以采取多種計(jì)算方法,但無論哪一種,其原理基本相同首先根據(jù)待壓縮的編碼數(shù)據(jù)產(chǎn)生一個(gè)索引表(Table),然后根據(jù)該索引表對(duì)編碼數(shù)據(jù)進(jìn)行壓縮,且產(chǎn)生的該Table占用的空間大小只與選定的壓縮算法的計(jì)算方法有關(guān),而與編碼數(shù)據(jù)自身的長度無關(guān)——即只有采用不同的計(jì)算方法,產(chǎn)生的Table的長度才會(huì)發(fā)生變化;其次,將壓縮后得到的數(shù)據(jù)與所述Table—起(即封裝成為一個(gè)壓縮包)發(fā)送給接收端,而接收端再根據(jù)所述Table,對(duì)所述壓縮后得到的數(shù)據(jù)進(jìn)行解壓縮,還原出編碼數(shù)據(jù)。例如假設(shè)采用某種基于Huffman壓縮算法的計(jì)算方法,對(duì)于長度為10MB的編碼數(shù)據(jù)產(chǎn)生的Table是1KB;則,壓縮1MB編碼數(shù)據(jù)產(chǎn)生的Table也是1KB,壓縮1KB編碼數(shù)據(jù)產(chǎn)生的Table還是1KB;假設(shè)壓縮率都是60%,則對(duì)于上述3段編碼數(shù)據(jù),其壓縮后的數(shù)據(jù)長度分別為10,000KBX0.7+1KB=7001KB;1,OOOKBXO.7+1KB=701KB;1KBX0.7+1KB=1.7KB;可見,如果采用上述方法對(duì)采用標(biāo)準(zhǔn)編碼格式的文本內(nèi)容進(jìn)行壓縮時(shí),對(duì)于長度為1KB的編碼數(shù)據(jù),壓縮后數(shù)據(jù)所占用的空間反而比壓縮前大小為IK的編碼數(shù)據(jù)更大。可見,所述基于Huffman的壓縮算法并不適用于對(duì)較短的內(nèi)容進(jìn)行壓縮。而手機(jī)應(yīng)用中出現(xiàn)的文字內(nèi)容,通常都在幾KB到幾百KB的長度范圍,而普通的純文字短信更是只有不到1KB的長度,顯然這種壓縮算法并不適合在移動(dòng)終端上應(yīng)用。由上述可見,現(xiàn)有的壓縮方法無法對(duì)采用標(biāo)準(zhǔn)編碼方式的文本內(nèi)容實(shí)現(xiàn)有效壓縮。
發(fā)明內(nèi)容本發(fā)明實(shí)施例提供一種數(shù)據(jù)壓縮的方法和裝置,能夠?qū)?biāo)準(zhǔn)編碼的文本內(nèi)容進(jìn)行有效壓縮。本發(fā)明實(shí)施例還提供一種數(shù)據(jù)解壓縮的方法和裝置,能夠?qū)嚎s后的文本進(jìn)行解壓縮,并實(shí)現(xiàn)加密保護(hù)功能。為達(dá)到上述目的的第一個(gè)方面,本發(fā)明的技術(shù)方案具體是這樣實(shí)現(xiàn)的—種數(shù)據(jù)壓縮的方法,該方法包括將采用標(biāo)準(zhǔn)標(biāo)碼的文本中的各文字片斷按順序逐個(gè)取出,分別在預(yù)先設(shè)置的字典中查找與所述各文字片斷匹配的字典編碼;所述字典中包含各種文字的文字片斷及其對(duì)應(yīng)的字典編碼,每個(gè)字典編碼占用2個(gè)字節(jié);若字典中存在與該文字片斷匹配的字典編碼,則將該字典編碼作為該文字片斷對(duì)應(yīng)的標(biāo)準(zhǔn)編碼的壓縮后編碼;否則,在該文字片斷對(duì)應(yīng)的標(biāo)準(zhǔn)編碼前添加標(biāo)識(shí)碼,并將該標(biāo)識(shí)碼與所述標(biāo)準(zhǔn)編碼一起作為該文字片斷對(duì)應(yīng)的壓縮后編碼,所述標(biāo)識(shí)碼的取值與該文字片斷對(duì)應(yīng)的標(biāo)準(zhǔn)編碼的字節(jié)數(shù)的值相等;將所述各文字片斷對(duì)應(yīng)的壓縮后編碼按文本中原先的順序組合,得到所述采用標(biāo)準(zhǔn)編碼的文本的壓縮包文件。所述文字片斷包括各種文字的單詞、詞組以及常用符號(hào)?!N數(shù)據(jù)壓縮的裝置,該裝置包括字典模塊,查詢匹配模塊和壓縮包生成模塊;所述查詢匹配模塊,用于將采用標(biāo)準(zhǔn)標(biāo)碼的文本中的各文字片斷按順序逐個(gè)取出,分別在字典模塊中查找與所述各文字片斷匹配的字典編碼,并將查找得到的字典編碼發(fā)送給壓縮包生成模塊;所述字典模塊,用于保存預(yù)先建立的各種文字的文字片斷所及其對(duì)應(yīng)的字典編碼;所述文字片斷包括各種文字的單詞、詞組以及常用符號(hào),且每個(gè)字典編碼占用2個(gè)字節(jié);所述壓縮包生成模塊,用于接收查詢匹配模塊發(fā)來的所述各文字片斷對(duì)應(yīng)的壓縮后編碼,將其按原先的順序組合得到該采用標(biāo)準(zhǔn)編碼的文本的壓縮包文件。所述查詢匹配模塊包括第一查詢匹配單元和第二查詢匹配單元;所述第一查詢匹配單元,用于在字典模塊中存在與該文字片斷匹配的字典編碼時(shí),將該編碼作為該文字片斷對(duì)應(yīng)的標(biāo)準(zhǔn)編碼的壓縮后編碼并發(fā)送給所述壓縮包生成模塊;所述第二查詢匹配單元,用于在字典模塊中不存在與該文字片斷匹配的字典編碼時(shí),在該文字片斷對(duì)應(yīng)的標(biāo)準(zhǔn)編碼前添加標(biāo)識(shí)碼,并將該標(biāo)識(shí)碼與所述標(biāo)準(zhǔn)編碼一起作為該文字片斷對(duì)應(yīng)的壓縮后編碼并發(fā)送給所述壓縮包生成模塊,所述標(biāo)識(shí)碼的取值與該文字片斷對(duì)應(yīng)的標(biāo)準(zhǔn)編碼的字節(jié)數(shù)的值相等,所述標(biāo)識(shí)碼占用2個(gè)字節(jié)。由上述的技術(shù)方案可見,本發(fā)明實(shí)施例的這種數(shù)據(jù)壓縮的方法和裝置,利用預(yù)先設(shè)定的字典得到文本內(nèi)容對(duì)應(yīng)的壓縮后編碼,由于西文單詞由多個(gè)英文字母組成,同時(shí)中文中存在大量的兩個(gè)及以上字符構(gòu)成的詞和詞組,因此能夠?qū)崿F(xiàn)對(duì)采用標(biāo)準(zhǔn)編碼的文本內(nèi)容的有效壓縮。為達(dá)到上述目的的另一個(gè)方面,本發(fā)明的技術(shù)方案具體是這樣實(shí)現(xiàn)的—種數(shù)據(jù)解壓縮的方法,該方法包括按順序逐一取出壓縮包文件中的壓縮后編碼,分別在預(yù)先設(shè)置的字典中查找與所述各壓縮后編碼對(duì)應(yīng)的解壓縮結(jié)果;所述字典中包含各種文字的文字片斷及其對(duì)應(yīng)的字典編碼,每個(gè)字典編碼占用2個(gè)字節(jié),且所述字典與生成壓縮包文件時(shí)使用的字典相同;若字典中存在與該壓縮后編碼對(duì)應(yīng)的文字片斷,則使用該文字片斷對(duì)所述壓縮后編碼進(jìn)行解壓縮;否則,直接使用標(biāo)識(shí)碼之后設(shè)定長度的壓縮后編碼作為解壓縮結(jié)果,所述設(shè)定長度與標(biāo)識(shí)碼的取值相等;將所有壓縮后編碼的解壓縮結(jié)果按照原壓縮包文件中的順序組合,得到壓縮前采用標(biāo)準(zhǔn)編碼的文本。所述文字片斷包括各種文字的單詞、詞組以及常用符號(hào)。—種數(shù)據(jù)解壓縮的裝置,該裝置包括字典模塊,查詢匹配模塊和解壓縮模塊;所述字典模塊,用于保存預(yù)設(shè)的字典,該字典中包含各種文字的文字片斷及其對(duì)應(yīng)的字典編碼,每個(gè)字典編碼占用2個(gè)字節(jié),且所述字典與生成壓縮包文件時(shí)使用的字典相同;建立的各種文字的文字片斷及其對(duì)應(yīng)的字典編碼,所述文字片斷括各種文字的單詞、詞組以及常用符號(hào)等,每個(gè)字典編碼占用2個(gè)字節(jié);所述查詢匹配模塊,用于按順序逐一取出所述壓縮包文件中的壓縮后編碼,分別在字典模塊中查找與所述各壓縮后編碼對(duì)應(yīng)的解壓縮結(jié)果,并將查找得到的解壓縮結(jié)果發(fā)送給解壓縮模塊;所述解壓縮模塊,用于將查詢匹配模塊發(fā)來的所述各壓縮后編碼的解壓縮結(jié)果,按照原壓縮包文件中的順序組合起來,得到壓縮前采用標(biāo)準(zhǔn)編碼的文本。所述查詢匹配模塊包括第三查詢匹配單元和第四查詢匹配單元;所述第三查詢匹配單元,用于在字典模塊中存在與該壓縮后編碼對(duì)應(yīng)的文字片斷時(shí),使用該文字片斷對(duì)所述壓縮后編碼進(jìn)行解壓縮并將解壓縮結(jié)果發(fā)送給解壓縮模塊;所述第四查詢匹配單元,用于根據(jù)標(biāo)識(shí)碼,直接使用標(biāo)識(shí)碼之后設(shè)定長度的壓縮后編碼作為解壓縮結(jié)果并將解壓縮結(jié)果發(fā)送給解壓縮模塊,所述的設(shè)定長度與標(biāo)識(shí)碼的取值相等,單位為字節(jié)。由上述的技術(shù)方案可見,本發(fā)明實(shí)施例的這種數(shù)據(jù)解壓縮的方法和裝置,通過利用與壓縮時(shí)相同的字典,能夠?qū)崿F(xiàn)對(duì)壓縮包文件的解壓縮,并且在進(jìn)行解壓縮時(shí),如果沒有壓縮時(shí)使用的字典,就無法正確解壓縮得到編碼數(shù)據(jù),從而能夠?qū)崿F(xiàn)加密保護(hù)文本內(nèi)容的作用。圖1為本發(fā)明實(shí)施例中數(shù)據(jù)壓縮的方法的流程示意圖。圖2為本發(fā)明實(shí)施例中數(shù)據(jù)壓縮的裝置的組成結(jié)構(gòu)示意圖。圖3為本發(fā)明實(shí)施例中數(shù)據(jù)傳輸?shù)姆椒ǖ牧鞒淌疽鈭D。圖4為本發(fā)明實(shí)施例中數(shù)據(jù)傳輸?shù)南到y(tǒng)的組成結(jié)構(gòu)示意圖。具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。本發(fā)明實(shí)施例提供一種數(shù)據(jù)壓縮的方法,其流程如圖1所示,其中包括步驟101:將采用標(biāo)準(zhǔn)標(biāo)碼的文本中的各文字片斷按順序逐個(gè)取出,分別在字典中查找與所述各文字片斷匹配的字典編碼;所述字典中預(yù)先建立了各種文字的文字片斷及其對(duì)應(yīng)的字典編碼,且每個(gè)字典編碼占用2個(gè)字節(jié);其中,所述文字片斷可以包括各種文字的單詞、詞組以及常用符號(hào)等;步驟102:若字典中存在與該文字片斷匹配的字典編碼,則該字典編碼即為該文字片斷對(duì)應(yīng)的標(biāo)準(zhǔn)編碼的壓縮后編碼;否則,在該文字片斷對(duì)應(yīng)的標(biāo)準(zhǔn)編碼前添加標(biāo)識(shí)碼,并將該標(biāo)識(shí)碼與所述標(biāo)準(zhǔn)編碼一起作為該文字片斷對(duì)應(yīng)的壓縮后編碼,且所述標(biāo)識(shí)碼的取值與該文字片斷對(duì)應(yīng)的標(biāo)準(zhǔn)編碼的字節(jié)長度的值相等,所述標(biāo)識(shí)碼占用2個(gè)字節(jié);步驟103:將所述各文字片斷對(duì)應(yīng)的壓縮后編碼按原先的順序組合,得到所述采用標(biāo)準(zhǔn)編碼的文本的壓縮包文件。為了更清楚地展示本發(fā)明實(shí)施例提供的數(shù)據(jù)壓縮的方法的工作流程,下面將進(jìn)一步通過一個(gè)具體的應(yīng)用實(shí)例進(jìn)行舉例說明假設(shè)預(yù)先建立的字典(節(jié)選該字典的一部分)中包含有如下表1所示的內(nèi)容<table>tableseeoriginaldocumentpage7</column></row><table><table>tableseeoriginaldocumentpage8</column></row><table>表1A、對(duì)于一段英文文字內(nèi)容"Iwillarrivein100minutes.Bye!",在對(duì)其進(jìn)行保存時(shí),首先將采用標(biāo)準(zhǔn)編碼的上述文字內(nèi)容中的各文字片斷按順序依次取出,在預(yù)先建立的如表1所示的字典中查找與各文字片斷匹配的字典編碼,可得在該字典中與文字片斷I匹配的字典編碼為4296;與文字片斷will匹配的字典編碼為13952;與文字片斷arrive匹配的字典編碼為103;......以此類推,直到與文字片斷"!"匹配的字典編碼為15855。在上述過程中,有兩點(diǎn)需要特別進(jìn)行說明1)對(duì)于文字片斷100,由于字典中并未定義與其對(duì)應(yīng)的字典編碼,因此將無法查找到與其匹配的字典編碼,根據(jù)前文所述,此時(shí)會(huì)在文字片斷ioo對(duì)應(yīng)的標(biāo)準(zhǔn)編碼前添加標(biāo)識(shí)碼,由于采用標(biāo)準(zhǔn)編碼的文字片斷100是由數(shù)字1對(duì)應(yīng)的標(biāo)準(zhǔn)編碼、數(shù)字0對(duì)應(yīng)的標(biāo)準(zhǔn)編碼和數(shù)字0對(duì)應(yīng)的標(biāo)準(zhǔn)編碼組成的,且每個(gè)數(shù)字對(duì)應(yīng)的標(biāo)準(zhǔn)編碼的長度為1個(gè)字節(jié),因此該標(biāo)識(shí)碼應(yīng)取3,用以表示該標(biāo)識(shí)碼之后的3個(gè)字節(jié)的內(nèi)容為字典以外的內(nèi)容(即采用標(biāo)準(zhǔn)編碼表示的內(nèi)容);因此,所述文字片斷100的字典編碼即由標(biāo)識(shí)碼3和100所對(duì)應(yīng)的標(biāo)準(zhǔn)編碼共同組成;且,在所述文字片斷100的字典編碼中,標(biāo)識(shí)碼3占據(jù)的長度為2個(gè)字節(jié),100對(duì)應(yīng)的標(biāo)準(zhǔn)編碼占據(jù)的長度為3個(gè)字節(jié);顯然,對(duì)于一些較為學(xué)術(shù)性的名詞或者比較生僻、不常用的單詞和詞組,以及一些由純數(shù)字構(gòu)成的字段(比如電話號(hào)碼和銀行帳號(hào)等),一般在字典中無法預(yù)先一一定義,因此本發(fā)明實(shí)施例中利用標(biāo)識(shí)碼進(jìn)行處理,因此,從表1中可以發(fā)現(xiàn),字典中的字典編碼并不是從0或1開始,而是從101開始,這是為了將1到100中的各數(shù)字用作標(biāo)識(shí)碼,例如若文字內(nèi)容中出現(xiàn)了13900000000這樣的電話號(hào)碼時(shí),在字典中沒有與之匹配的字典編碼,此時(shí)在該表示該電話號(hào)碼的標(biāo)準(zhǔn)編碼前添加標(biāo)識(shí)碼ll,用以表示該標(biāo)識(shí)碼之后的11個(gè)字節(jié)的內(nèi)容為字典以外的內(nèi)容。同時(shí)容易理解的是,表1中字典編碼從101開始只是舉例,由于在實(shí)際應(yīng)用中很少出現(xiàn)大于30位的數(shù)字,因此字典編碼可以從任何大于31的數(shù)字開始,表1中設(shè)定的字典編碼從101開始只是為可能出現(xiàn)的數(shù)字預(yù)留了更大的裕量而已。2)按照英文的書寫習(xí)慣,在同一句話當(dāng)中各英文單詞之間,以及英文單詞與數(shù)字之間,都采用空格符(英文空格)相互隔開,本發(fā)明實(shí)施例中既可以預(yù)先在字典中定義與空格符匹配的字典編碼,并在進(jìn)行壓縮處理時(shí)用該字典編碼替換空格符對(duì)應(yīng)的標(biāo)準(zhǔn)編碼;也可以設(shè)置一種缺省壓縮模式,在進(jìn)行英文文字資料的壓縮處理時(shí),忽略文字片斷之間的空格符,以更進(jìn)一步提高壓縮比率。仍以英文文字內(nèi)容"Iwillarrivein100minutes.Bye!"為例,如果不忽略其中的空格符,則壓縮后該文字內(nèi)容占據(jù)的長度為31字節(jié);而壓縮前(即采用標(biāo)準(zhǔn)編碼)該文字內(nèi)容占據(jù)的長度為34字節(jié);如果采用忽略空格符的缺省壓縮模式,則此時(shí)壓縮后的文字內(nèi)容占據(jù)的長度為21字節(jié),可見,壓縮比率得到了較大提高。B、仍以表1為例,假設(shè)此時(shí)需要保存一段中文文字內(nèi)容"我一百分鐘內(nèi)趕到.再見!",由于在中文的書寫習(xí)慣下,在同一句話當(dāng)中,無論是中英文字符之間,還是中文字符與數(shù)字之間,通常都不使用空格相互隔開,因此本發(fā)明實(shí)施例在對(duì)中文文字內(nèi)容進(jìn)行壓縮處理時(shí),通常不忽略文字當(dāng)中的空格符。壓縮前(即采用標(biāo)準(zhǔn)編碼),該文字內(nèi)容占據(jù)的長度為22字節(jié),由于該文字內(nèi)容鐘不包含空格符,因此無論是否忽略文字中的空格符,其壓縮后所占據(jù)的長度為16字節(jié)。此外,在實(shí)際的文字內(nèi)容中,中英文內(nèi)容有時(shí)還會(huì)同時(shí)出現(xiàn),為了盡量避免壓縮造成的錯(cuò)誤,根據(jù)經(jīng)驗(yàn),對(duì)于只包含英文和數(shù)字的文字內(nèi)容,可以忽略文字當(dāng)中的空格符以提高壓縮比率,而對(duì)于包含中文的文字內(nèi)容,則通常不忽略文字當(dāng)中的空格符。應(yīng)當(dāng)指出,以上所述空格符的處理策略僅是基于本發(fā)明精神進(jìn)行的展示和舉例,并非用于限定具體的實(shí)施方式,因此在實(shí)際應(yīng)用中也可以采用其他處理策略。最后需要說明的是,本發(fā)明實(shí)施例中雖然全部采用了中英文內(nèi)容的文本進(jìn)行了舉例,但容易理解,對(duì)于其他任何文字的文本,該方法都同樣適用,下文中將不再每次進(jìn)行特別說明。本發(fā)明實(shí)施例還提供一種數(shù)據(jù)壓縮的裝置,該裝置的組成結(jié)構(gòu)如圖2所示,其中包括字典模塊210,查詢匹配模塊220和壓縮包生成模塊230;所述查詢匹配模塊220,用于將采用標(biāo)準(zhǔn)標(biāo)碼的文本中的各文字片斷按順序逐個(gè)取出,分別在字典模塊210中查找與所述各文字片斷匹配的字典編碼,并將查找得到的字典編碼發(fā)送給壓縮包生成模塊230;所述字典模塊210,用于保存預(yù)先建立的各種文字的文字片斷及其對(duì)應(yīng)的字典編碼,其中,所述文字片斷可以包括各種文字的單詞、詞組以及常用符號(hào)等;且每個(gè)字典編碼占用2個(gè)字節(jié);所述壓縮包生成模塊230,用于接收查詢匹配模塊220發(fā)來的所述各文字片斷對(duì)應(yīng)的壓縮后編碼,將其按原先的順序組合得到該采用標(biāo)準(zhǔn)編碼的文本的壓縮包文件。其中,所述查詢匹配模塊220包括第一查詢匹配單元221和第二查詢匹配單元222;所述第一查詢匹配單元221,用于在字典模塊210中存在與該文字片斷匹配的字典編碼時(shí),將該編碼作為該文字片斷對(duì)應(yīng)的標(biāo)準(zhǔn)編碼的壓縮后編碼并發(fā)送給所述壓縮包生成模塊230;所述第二查詢匹配單元222,用于在字典模塊210中不存在與該文字片斷匹配的字典編碼時(shí),在該文字片斷對(duì)應(yīng)的標(biāo)準(zhǔn)編碼前添加標(biāo)識(shí)碼,并將該標(biāo)識(shí)碼與所述標(biāo)準(zhǔn)編碼一起作為該文字片斷對(duì)應(yīng)的壓縮后編碼并發(fā)送給所述壓縮包生成模塊230,所述標(biāo)識(shí)碼的取值與該文字片斷對(duì)應(yīng)的標(biāo)準(zhǔn)編碼的字節(jié)長度的值相等,所述標(biāo)識(shí)碼占用2個(gè)字節(jié)??梢姡景l(fā)明實(shí)施例提供的數(shù)據(jù)壓縮的方法和裝置,在預(yù)先設(shè)定的字典中建立各種文字片斷與字典編碼的對(duì)應(yīng)關(guān)系,通過查找對(duì)應(yīng)關(guān)系得到所述文字片斷對(duì)應(yīng)的字典編碼,并對(duì)字典中未設(shè)置對(duì)應(yīng)關(guān)系的文字片斷通過在該文字片斷對(duì)應(yīng)的標(biāo)準(zhǔn)編碼前添加標(biāo)識(shí)碼的方法得到其壓縮后編碼,由于英文單詞基本由兩個(gè)及以上的英文字母組成,因此相比每個(gè)字母對(duì)應(yīng)一個(gè)字節(jié)長度的標(biāo)準(zhǔn)編碼,本發(fā)明實(shí)施例采用兩個(gè)字節(jié)的字典編碼來表示一個(gè)英文單詞,無疑實(shí)現(xiàn)了對(duì)采用標(biāo)準(zhǔn)編碼的文本內(nèi)容的有效壓縮;對(duì)于中文文本,由于中文中存在大量的兩個(gè)及以上字符構(gòu)成的詞和詞組,因此相比每個(gè)中文字符對(duì)應(yīng)2個(gè)字節(jié)長度的標(biāo)準(zhǔn)編碼,本發(fā)明實(shí)施例采用兩個(gè)字節(jié)的字典編碼來表示一個(gè)中文字符、同時(shí)還采用兩個(gè)字節(jié)的字典編碼來表示一個(gè)中文詞和詞組,同樣也能夠?qū)崿F(xiàn)對(duì)采用標(biāo)準(zhǔn)編碼的文本內(nèi)容的有效壓縮。采用上述方法進(jìn)行數(shù)據(jù)壓縮后,即可以將壓縮包文件保存在本地,以備后續(xù)使用,也可以將其發(fā)送給其他移動(dòng)終端,相應(yīng)地,當(dāng)需要使用壓縮包文件中的文本內(nèi)容時(shí),自然需要對(duì)該壓縮包文件進(jìn)行解壓縮。因此,本發(fā)明實(shí)施例提供一種數(shù)據(jù)解壓縮的方法,其流程如圖3所示,該方法包括步驟301:按順序逐一取出壓縮包文件中的壓縮后編碼,分別在預(yù)先設(shè)置的字典中查找與所述各壓縮后編碼對(duì)應(yīng)的解壓縮結(jié)果;所述字典中包含各種文字的文字片斷及其對(duì)應(yīng)的字典編碼,每個(gè)字典編碼占用2個(gè)字節(jié),且所述字典與生成壓縮包文件時(shí)使用的字典相同;容易理解,如果將文本內(nèi)容壓縮后以壓縮包文件的形式保存在本地,則在解壓縮時(shí)可以直接使用已有的字典進(jìn)行解壓縮;而如果所述壓縮包文件為從其他終端處接收得到,則需要預(yù)先獲取與進(jìn)行壓縮時(shí)相同的字典才能夠順利進(jìn)行解壓縮。本發(fā)明實(shí)施例并不限定獲取所述字典的方法,例如可以由運(yùn)營商對(duì)認(rèn)證通過的合法終端統(tǒng)一提供,或由接收端在適當(dāng)時(shí)機(jī)通過發(fā)起請(qǐng)求從擁有該字典的終端處獲取等各種方法。步驟302:若字典中存在與該壓縮后編碼對(duì)應(yīng)的文字片斷,則使用該文字片斷對(duì)所述壓縮后編碼進(jìn)行解壓縮;否則,直接使用標(biāo)識(shí)碼之后設(shè)定長度的壓縮后編碼作為解壓縮結(jié)果,所述設(shè)定長度與標(biāo)識(shí)碼的取值相等,單位為字節(jié)(即標(biāo)識(shí)碼為多少,就有多少字節(jié)的壓縮后編碼不必進(jìn)行解壓縮,也就是解壓縮結(jié)果與壓縮后編碼相同,均為所述文字片段對(duì)應(yīng)的標(biāo)準(zhǔn)編碼);步驟303:將所有壓縮后編碼的解壓縮結(jié)果按照原壓縮包文件中的順序組合,得到壓縮前采用標(biāo)準(zhǔn)編碼的文本。可見,步驟301303的解壓縮過程實(shí)際上就是步驟101103的逆過程。該方法預(yù)先設(shè)置與數(shù)據(jù)壓縮時(shí)相同的字典,該字典中包含各種文字片斷與字典編碼的對(duì)應(yīng)關(guān)系,在進(jìn)行數(shù)據(jù)傳輸時(shí),通過查找對(duì)應(yīng)關(guān)系得到所述文字片斷對(duì)應(yīng)的字典編碼,并對(duì)字典中未設(shè)置對(duì)應(yīng)關(guān)系的文字片斷通過在該文字片斷對(duì)應(yīng)的標(biāo)準(zhǔn)編碼前添加標(biāo)識(shí)碼的方法得到其壓縮后編碼,實(shí)現(xiàn)了對(duì)采用標(biāo)準(zhǔn)編碼的文本內(nèi)容的有效壓縮;同時(shí),由于所述字典僅為收發(fā)雙發(fā)所有,且壓縮包文件中的數(shù)據(jù)僅為根據(jù)所述對(duì)應(yīng)關(guān)系得到的映射編碼,并不包含實(shí)際的文本內(nèi)容,因此這種數(shù)據(jù)傳輸?shù)姆椒ㄟ€具有保密性。本發(fā)明實(shí)施例還同時(shí)提供一種數(shù)據(jù)解壓縮的裝置,其組成結(jié)構(gòu)如4所述,其中包括字典模塊410,查詢匹配模塊420和解壓縮模塊430;所述字典模塊410,用于保存預(yù)設(shè)的字典,該字典中包含各種文字的文字片斷及其對(duì)應(yīng)的字典編碼,每個(gè)字典編碼占用2個(gè)字節(jié),且所述字典與生成壓縮包文件時(shí)使用的字典相同;所述查詢匹配模塊420,用于按順序逐一取出所述壓縮包文件中的壓縮后編碼,分別在字典模塊410中查找與所述各壓縮后編碼對(duì)應(yīng)的解壓縮結(jié)果,并將查找得到的解壓縮結(jié)果發(fā)送給解壓縮模塊430;其中,所述查詢匹配模塊420包括第三查詢匹配單元421和第四查詢匹配單元422;所述第三查詢匹配單元421,用于在字典模塊410中存在與該壓縮后編碼對(duì)應(yīng)的文字片斷時(shí),使用該文字片斷對(duì)所述壓縮后編碼進(jìn)行解壓縮并將解壓縮結(jié)果發(fā)送給解壓縮模塊430;所述第四查詢匹配單元422,用于根據(jù)標(biāo)識(shí)碼,直接使用標(biāo)識(shí)碼之后設(shè)定長度的壓縮后編碼作為解壓縮結(jié)果并將解壓縮結(jié)果發(fā)送給解壓縮模塊430,所述的設(shè)定長度與標(biāo)識(shí)碼的取值相等,單位為字節(jié)(即標(biāo)識(shí)碼的取值為多少,就有相等字節(jié)數(shù)的壓縮后編碼不必進(jìn)行解壓縮——即解壓縮結(jié)果與壓縮后編碼相同,均為所述文字片段對(duì)應(yīng)的標(biāo)準(zhǔn)編碼);所述解壓縮模塊430,用于將查詢匹配模塊420發(fā)來的所述各壓縮后編碼的解壓縮結(jié)果,按照原壓縮包文件中的順序組合起來,得到壓縮前采用標(biāo)準(zhǔn)編碼的文本。可見,本發(fā)明實(shí)施例提供的數(shù)據(jù)解壓縮的裝置,這種數(shù)據(jù)解壓縮的方法和裝置,通過利用與壓縮時(shí)相同的字典,能夠?qū)崿F(xiàn)對(duì)壓縮包文件的解壓縮,并且在進(jìn)行解壓縮時(shí),如果沒有壓縮時(shí)使用的字典,就無法正確解壓縮得到編碼數(shù)據(jù),從而能夠?qū)崿F(xiàn)加密保護(hù)文本內(nèi)容的作用;同時(shí),由于壓縮包文件中的數(shù)據(jù)僅為根據(jù)所述對(duì)應(yīng)關(guān)系得到的映射編碼,并不包含實(shí)際的文本內(nèi)容,且進(jìn)行解壓縮時(shí)必須依據(jù)與壓縮時(shí)相同的字典才可以實(shí)現(xiàn),因此這種數(shù)據(jù)解壓縮的裝置還具有保密性。因此,容易理解,以上所述僅為本發(fā)明的較佳實(shí)施例,并非用于限定本發(fā)明的精神和保護(hù)范圍,任何熟悉本領(lǐng)域的技術(shù)人員所做出的等同變化或替換,都應(yīng)視為涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。權(quán)利要求一種數(shù)據(jù)壓縮的方法,其特征在于,該方法包括將采用標(biāo)準(zhǔn)標(biāo)碼的文本中的各文字片斷按順序逐個(gè)取出,分別在預(yù)先設(shè)置的字典中查找與所述各文字片斷匹配的字典編碼;所述字典中包含各種文字的文字片斷及其對(duì)應(yīng)的字典編碼,每個(gè)字典編碼占用2個(gè)字節(jié);若字典中存在與該文字片斷匹配的字典編碼,則將該字典編碼作為該文字片斷對(duì)應(yīng)的標(biāo)準(zhǔn)編碼的壓縮后編碼;否則,在該文字片斷對(duì)應(yīng)的標(biāo)準(zhǔn)編碼前添加標(biāo)識(shí)碼,并將該標(biāo)識(shí)碼與所述標(biāo)準(zhǔn)編碼一起作為該文字片斷對(duì)應(yīng)的壓縮后編碼,所述標(biāo)識(shí)碼的取值與該文字片斷對(duì)應(yīng)的標(biāo)準(zhǔn)編碼的字節(jié)數(shù)的值相等;將所述各文字片斷對(duì)應(yīng)的壓縮后編碼按文本中原先的順序組合,得到所述采用標(biāo)準(zhǔn)編碼的文本的壓縮包文件。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述文字片斷包括各種文字的單詞、詞組以及常用符號(hào)。3.—種數(shù)據(jù)壓縮的裝置,其特征在于,該裝置包括字典模塊,查詢匹配模塊和壓縮包生成模塊;所述查詢匹配模塊,用于將采用標(biāo)準(zhǔn)標(biāo)碼的文本中的各文字片斷按順序逐個(gè)取出,分別在字典模塊中查找與所述各文字片斷匹配的字典編碼,并將查找得到的字典編碼發(fā)送給壓縮包生成模塊;所述字典模塊,用于保存預(yù)先建立的各種文字的文字片斷所及其對(duì)應(yīng)的字典編碼;所述文字片斷包括各種文字的單詞、詞組以及常用符號(hào),且每個(gè)字典編碼占用2個(gè)字節(jié);所述壓縮包生成模塊,用于接收查詢匹配模塊發(fā)來的所述各文字片斷對(duì)應(yīng)的壓縮后編碼,將其按原先的順序組合得到該采用標(biāo)準(zhǔn)編碼的文本的壓縮包文件。4.根據(jù)權(quán)利要求3所述的裝置,其特征在于,所述查詢匹配模塊包括第一查詢匹配單元和第二查詢匹配單元;所述第一查詢匹配單元,用于在字典模塊中存在與該文字片斷匹配的字典編碼時(shí),將該編碼作為該文字片斷對(duì)應(yīng)的標(biāo)準(zhǔn)編碼的壓縮后編碼并發(fā)送給所述壓縮包生成模塊;所述第二查詢匹配單元,用于在字典模塊中不存在與該文字片斷匹配的字典編碼時(shí),在該文字片斷對(duì)應(yīng)的標(biāo)準(zhǔn)編碼前添加標(biāo)識(shí)碼,并將該標(biāo)識(shí)碼與所述標(biāo)準(zhǔn)編碼一起作為該文字片斷對(duì)應(yīng)的壓縮后編碼并發(fā)送給所述壓縮包生成模塊,所述標(biāo)識(shí)碼的取值與該文字片斷對(duì)應(yīng)的標(biāo)準(zhǔn)編碼的字節(jié)數(shù)的值相等,所述標(biāo)識(shí)碼占用2個(gè)字節(jié)。5.—種數(shù)據(jù)解壓縮的方法,其特征在于,該方法包括按順序逐一取出壓縮包文件中的壓縮后編碼,分別在預(yù)先設(shè)置的字典中查找與所述各壓縮后編碼對(duì)應(yīng)的解壓縮結(jié)果;所述字典中包含各種文字的文字片斷及其對(duì)應(yīng)的字典編碼,每個(gè)字典編碼占用2個(gè)字節(jié),且所述字典與生成壓縮包文件時(shí)使用的字典相同;若字典中存在與該壓縮后編碼對(duì)應(yīng)的文字片斷,則使用該文字片斷對(duì)所述壓縮后編碼進(jìn)行解壓縮;否則,直接使用標(biāo)識(shí)碼之后設(shè)定長度的壓縮后編碼作為解壓縮結(jié)果,所述設(shè)定長度與標(biāo)識(shí)碼的取值相等;將所有壓縮后編碼的解壓縮結(jié)果按照原壓縮包文件中的順序組合,得到壓縮前采用標(biāo)準(zhǔn)編碼的文本。6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述文字片斷包括各種文字的單詞、詞組以及常用符號(hào)。7.—種數(shù)據(jù)解壓縮的裝置,其特征在于,該裝置包括字典模塊,查詢匹配模塊和解壓縮模塊;所述字典模塊,用于保存預(yù)設(shè)的字典,該字典中包含各種文字的文字片斷及其對(duì)應(yīng)的字典編碼,每個(gè)字典編碼占用2個(gè)字節(jié),且所述字典與生成壓縮包文件時(shí)使用的字典相同;建立的各種文字的文字片斷及其對(duì)應(yīng)的字典編碼,所述文字片斷括各種文字的單詞、詞組以及常用符號(hào)等,每個(gè)字典編碼占用2個(gè)字節(jié);所述查詢匹配模塊,用于按順序逐一取出所述壓縮包文件中的壓縮后編碼,分別在字典模塊中查找與所述各壓縮后編碼對(duì)應(yīng)的解壓縮結(jié)果,并將查找得到的解壓縮結(jié)果發(fā)送給解壓縮模塊;所述解壓縮模塊,用于將查詢匹配模塊發(fā)來的所述各壓縮后編碼的解壓縮結(jié)果,按照原壓縮包文件中的順序組合起來,得到壓縮前采用標(biāo)準(zhǔn)編碼的文本。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述查詢匹配模塊包括第三查詢匹配單元和第四查詢匹配單元;所述第三查詢匹配單元,用于在字典模塊中存在與該壓縮后編碼對(duì)應(yīng)的文字片斷時(shí),使用該文字片斷對(duì)所述壓縮后編碼進(jìn)行解壓縮并將解壓縮結(jié)果發(fā)送給解壓縮模塊;所述第四查詢匹配單元,用于根據(jù)標(biāo)識(shí)碼,直接使用標(biāo)識(shí)碼之后設(shè)定長度的壓縮后編碼作為解壓縮結(jié)果并將解壓縮結(jié)果發(fā)送給解壓縮模塊,所述的設(shè)定長度與標(biāo)識(shí)碼的取值相等,單位為字節(jié)。全文摘要本發(fā)明公開了一種數(shù)據(jù)壓縮的方法,包括將采用標(biāo)準(zhǔn)標(biāo)碼的文本中的各文字片斷按順序逐個(gè)取出,分別在預(yù)先設(shè)置的字典中查找與所述各文字片斷匹配的字典編碼;將所述各文字片斷對(duì)應(yīng)的壓縮后編碼按文本中原先的順序組合,得到所述采用標(biāo)準(zhǔn)編碼的文本的壓縮包文件。以及公開了一種數(shù)據(jù)壓縮的裝置,包括字典模塊,查詢匹配模塊和壓縮包生成模塊。本發(fā)明還同時(shí)公開了一種數(shù)據(jù)解壓縮的方法和裝置。本發(fā)明提供的數(shù)據(jù)壓縮的方法和裝置,能夠?qū)崿F(xiàn)對(duì)采用標(biāo)準(zhǔn)編碼的文本內(nèi)容的有效壓縮。本發(fā)明提供的數(shù)據(jù)解壓縮的方法和裝置,能夠?qū)崿F(xiàn)對(duì)壓縮包文件的解壓縮,并且在進(jìn)行解壓縮時(shí),還能夠?qū)崿F(xiàn)加密保護(hù)文本內(nèi)容的作用。文檔編號(hào)H03M7/30GK101729075SQ20081020104公開日2010年6月9日申請(qǐng)日期2008年10月10日優(yōu)先權(quán)日2008年10月10日發(fā)明者蔡世光,鄧冶華,邱旭軍申請(qǐng)人:英華達(dá)(上海)電子有限公司