專利名稱:待壓縮數(shù)據(jù)的預(yù)處理方法以及壓縮數(shù)據(jù)的傳輸方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)壓縮過程中被壓縮數(shù)據(jù)的待預(yù)處理方法以及壓縮數(shù)據(jù)的傳輸方法。
背景技術(shù):
網(wǎng)絡(luò)中的數(shù)據(jù)在被傳輸前,為了減少實(shí)際傳輸?shù)臄?shù)據(jù)量,通常需要對(duì)待傳輸?shù)臄?shù)據(jù)進(jìn)行壓縮,以減少網(wǎng)絡(luò)傳輸資源的占用以及減少傳輸失敗的機(jī)會(huì),提高數(shù)據(jù)傳輸?shù)男?。被傳輸?shù)臄?shù)據(jù)通常由發(fā)出數(shù)據(jù)的節(jié)點(diǎn)進(jìn)行打包處理,即將被傳輸?shù)臄?shù)據(jù)按照某種通信協(xié)議包裝成該協(xié)議規(guī)定格式的數(shù)據(jù)包,例如IP數(shù)據(jù)包,TCP數(shù)據(jù)包等,這些數(shù)據(jù)包被傳輸?shù)骄W(wǎng)絡(luò)傳輸設(shè)備壓縮發(fā)送。數(shù)據(jù)包通常包括包頭和包的主體,包頭一般用于存放源地址、目的地址、校驗(yàn)和、長(zhǎng)度等控制信息,包的主體通常用于承載數(shù)據(jù)本身。也就是說,數(shù)據(jù)的傳輸是以“包”為單位的,數(shù)據(jù)包中的數(shù)據(jù)即有實(shí)際的符合某種規(guī)則的含義,例如目的地址,無(wú)論其最終的二進(jìn)制的表示形式是什么,都代表了數(shù)據(jù)包的目的地址,按照規(guī)則可以解釋成其原本的含義;同時(shí),從二進(jìn)制的角度看,數(shù)據(jù)包中的數(shù)據(jù)又是雜亂無(wú)章的。
對(duì)于數(shù)據(jù)壓縮來(lái)說,壓縮后的數(shù)據(jù)也需要分為兩部分,控制信息或控制數(shù)據(jù)和實(shí)際數(shù)據(jù),這要求壓縮后的數(shù)據(jù)必須與某些或某個(gè)字符集相對(duì)應(yīng),該字符集的一部分用于描述或代表實(shí)際數(shù)據(jù),而另一部分描述或代表控制數(shù)據(jù),這樣,在數(shù)據(jù)接收端,可以有效利用該字符集中的描述或代表控制數(shù)據(jù)的部分內(nèi)容將經(jīng)過壓縮的實(shí)際數(shù)據(jù)還原為本來(lái)的含義。如果壓縮后的數(shù)據(jù)不與某個(gè)或某種字符集對(duì)應(yīng),或者壓縮后的數(shù)據(jù)與該字符集的全部?jī)?nèi)容對(duì)應(yīng),由于數(shù)據(jù)包中數(shù)據(jù)的無(wú)需或雜亂,將無(wú)法利用所述字符集中的部分內(nèi)容生成實(shí)際壓縮數(shù)據(jù)的控制數(shù)據(jù),從而無(wú)法恢復(fù)或還原實(shí)際數(shù)據(jù)。
例如,被傳輸?shù)臄?shù)據(jù)包通常有多個(gè)數(shù)據(jù)包構(gòu)成一個(gè)數(shù)據(jù)包流,參考圖1(A),這樣的數(shù)據(jù)包流被壓縮后形成壓縮后的新的數(shù)據(jù)包流,參考圖1(B),圖1(B)所示的數(shù)據(jù)包流包括數(shù)據(jù)區(qū)2和控制區(qū)1,在數(shù)據(jù)包接收端,靠控制區(qū)1的數(shù)據(jù)將數(shù)據(jù)區(qū)2中的實(shí)際數(shù)據(jù)恢復(fù)到壓縮前的狀態(tài)。因此,需要表示控制區(qū)數(shù)據(jù)的字符與表示數(shù)據(jù)區(qū)數(shù)據(jù)的字符分屬于不同的字符集或者分屬于一個(gè)字符集的不同的、相互不重復(fù)的部分。而且即使字符集不同,表示這兩種數(shù)據(jù)的字符也不能有重復(fù)。如果壓縮后的數(shù)據(jù)包與一個(gè)字符集的對(duì)應(yīng)關(guān)系如圖1(C)所示,即數(shù)據(jù)區(qū)2的實(shí)際數(shù)據(jù)對(duì)應(yīng)有三個(gè)部分11、12、13字符區(qū)域的字符集的全部,則控制區(qū)1中的控制數(shù)據(jù)要么不能產(chǎn)生,要么與數(shù)據(jù)區(qū)2的實(shí)際數(shù)據(jù)對(duì)應(yīng)的字符重復(fù),這樣在壓縮后的數(shù)據(jù)流中將無(wú)法區(qū)分控制數(shù)據(jù)和實(shí)際數(shù)據(jù),接收端無(wú)法進(jìn)行被壓縮數(shù)據(jù)的解壓縮或恢復(fù)。
發(fā)明內(nèi)容
為解決上述問題,本發(fā)明提供一種有利于數(shù)據(jù)壓縮和恢復(fù)的待壓縮數(shù)據(jù)的預(yù)處理方法和壓縮數(shù)據(jù)的傳輸方法。
本發(fā)明提供的待壓縮數(shù)據(jù)的預(yù)處理方法,包括選擇一個(gè)具有至少兩個(gè)字符子集的字符集,所述兩個(gè)字符子集具有互不相同的編碼;使用所述字符集中第一字符子集的字符編碼規(guī)則,對(duì)待壓縮數(shù)據(jù)的二進(jìn)制流進(jìn)行編碼,將所述二進(jìn)制流變成字符流,所述字符流中的字符為所述字符集中第一字符子集中的字符。
所述字符集為ASCII字符集,所述第一子集為ASCII字符集中的字符編碼部分。
優(yōu)選地,采用ASCII字符集中的字符編碼部分的后7位或者后6位二進(jìn)制對(duì)待壓縮數(shù)據(jù)的二進(jìn)制流進(jìn)行編碼。
也可以使用所述字符集為ISO-8859-1字符集,所述第一子集為ISO-8859-1字符集中的后7位或者后6位二進(jìn)制編碼對(duì)應(yīng)的字符子集。
本發(fā)明提供的另一種待壓縮數(shù)據(jù)的預(yù)處理方法,包括選擇二個(gè)字符集,所述兩個(gè)字符集或用于編碼的子集具有互不相同的編碼;使用二個(gè)字符集中的第一字符集或用于編碼的子集的字符編碼規(guī)則,對(duì)待壓縮數(shù)據(jù)的二進(jìn)制流進(jìn)行編碼,將所述二進(jìn)制流變成字符流,所述字符流中的字符為所述第一字符集或用于編碼的子集中的字符。
所述的二個(gè)字符集為ASCII字符集和ISO-8859-1字符集。
本發(fā)明提供的壓縮數(shù)據(jù)的傳輸方法,包括選擇一個(gè)具有至少兩個(gè)字符子集的字符集,所述兩個(gè)字符子集具有互不相同的編碼;使用所述字符集中第一字符子集的字符編碼規(guī)則,對(duì)待壓縮數(shù)據(jù)的二進(jìn)制流進(jìn)行編碼,將所述二進(jìn)制流變成字符流,所述字符流中的字符為所述字符集中第一字符子集中的字符;對(duì)編碼后的字符流進(jìn)行壓縮生成壓縮數(shù)據(jù);使用所述字符集中第二字符子集的字符編碼規(guī)則生成所述壓縮數(shù)據(jù)的控制數(shù)據(jù);將所述壓縮數(shù)據(jù)和所述控制數(shù)據(jù)打包發(fā)送。
所述字符集為ASCII字符集,所述第一子集為ASCII字符集中的字符編碼部分。
具體地,采用ASCII字符集中的字符編碼部分的后7位或者后6位二進(jìn)制對(duì)待壓縮數(shù)據(jù)的二進(jìn)制流進(jìn)行編碼。
所述字符集還可以采用ISO-8859-1字符集,所述第一子集為ISO-8859-1字符集中的后7位或者后6位二進(jìn)制編碼對(duì)應(yīng)的字符子集。
由于本發(fā)明選擇一個(gè)具有至少兩個(gè)字符子集的字符集,且所述兩個(gè)字符子集具有互不相同的編碼,這樣,當(dāng)使用所述字符集中第一字符子集的字符編碼規(guī)則對(duì)待壓縮數(shù)據(jù)的二進(jìn)制流進(jìn)行編碼時(shí),可以使用第二字符子集的字符編碼規(guī)則對(duì)控制數(shù)據(jù)進(jìn)行編碼,因此,能夠保證發(fā)送到數(shù)據(jù)接收端的控制數(shù)據(jù)和實(shí)際數(shù)據(jù)得到明確的區(qū)分,進(jìn)而保證利用解碼得到的控制數(shù)據(jù)對(duì)實(shí)際數(shù)據(jù)的解壓縮,有效恢復(fù)或還原實(shí)際數(shù)據(jù)。
圖1(A)是被傳輸?shù)臄?shù)據(jù)包流圖;圖1(B)是圖1(A)所述數(shù)據(jù)包流被壓縮后形成的數(shù)據(jù)流圖;圖1(C)是壓縮后的數(shù)據(jù)包與一個(gè)字符集第一種對(duì)應(yīng)關(guān)系圖;圖1(D)是壓縮后的數(shù)據(jù)包與一個(gè)字符集第二種對(duì)應(yīng)關(guān)系圖;圖2是本發(fā)明所述待壓縮數(shù)據(jù)的預(yù)處理方法的實(shí)施例流程圖;
圖3是本發(fā)明采用的ASCII碼表;圖4是本發(fā)明所述壓縮數(shù)據(jù)傳輸方法的實(shí)施例流程圖。
具體實(shí)施例方式
下面結(jié)合附圖對(duì)本發(fā)明進(jìn)行進(jìn)一步的說明。
首先參考圖1(D),圖1(D)是壓縮后的數(shù)據(jù)包與一個(gè)字符集第二種對(duì)應(yīng)關(guān)系圖。在本發(fā)明中,實(shí)現(xiàn)數(shù)據(jù)壓縮傳輸以及在數(shù)據(jù)接收端對(duì)壓縮的數(shù)據(jù)進(jìn)行解壓縮,需要依賴包含在壓縮數(shù)據(jù)流中的控制數(shù)據(jù),因此,要有效區(qū)分所述控制數(shù)據(jù)和壓縮數(shù)據(jù),必須使這兩部分?jǐn)?shù)據(jù)對(duì)應(yīng)不同的字符集或字符集編碼互不相同的部分。假設(shè)字符集有三部分字符,第一部分11為控制字符,第二部分12為數(shù)字,第三部分13為英文字母,由于這三部分的編碼互不相同,因此,可以如圖1(D)所示,使控制數(shù)據(jù)的編碼對(duì)應(yīng)所述第一部分字符,而壓縮數(shù)據(jù)的編碼對(duì)應(yīng)第二、第三部分,就能夠保證壓縮的數(shù)據(jù)和控制數(shù)據(jù)采用不同的編碼,從而能夠在數(shù)據(jù)接收端有效區(qū)分出壓縮數(shù)據(jù)和控制數(shù)據(jù),從而實(shí)現(xiàn)壓縮數(shù)據(jù)的解壓縮。當(dāng)然,只要控制數(shù)據(jù)的對(duì)應(yīng)部分不同于壓縮數(shù)據(jù)的對(duì)應(yīng)部分,而所對(duì)應(yīng)部分的字符編碼的個(gè)數(shù)(或者說對(duì)應(yīng)部分的字符的個(gè)數(shù))能夠滿足編碼的數(shù)據(jù)個(gè)數(shù)要求,就能夠?qū)崿F(xiàn)本發(fā)明。例如,使控制數(shù)據(jù)的編碼對(duì)應(yīng)所述第二部分字符,而壓縮數(shù)據(jù)的編碼對(duì)應(yīng)第三部分。
圖2是本發(fā)明所述待壓縮數(shù)據(jù)的預(yù)處理方法的實(shí)施例流程圖。按照?qǐng)D2,首先在步驟21選擇一個(gè)具有至少兩個(gè)字符子集的字符集,所述兩個(gè)字符子集具有互不相同的編碼。這樣選擇字符集,是為了利用該字符集的不同子集的編碼不同的特點(diǎn),對(duì)壓縮數(shù)據(jù)和控制數(shù)據(jù)進(jìn)行不同的編碼,以便在數(shù)據(jù)接收端能夠準(zhǔn)確獲得壓縮數(shù)據(jù)和控制數(shù)據(jù)。實(shí)際中,在計(jì)算機(jī)領(lǐng)域使用的任何一個(gè)字符集都滿足步驟1中所述的具有至少兩個(gè)字符子集的條件,關(guān)于這一點(diǎn),下文還有詳細(xì)的說明。
然后在步驟22,從所述字符集中確定該兩個(gè)子集。所述子集的確定在于編碼的需求。由于待傳輸?shù)臄?shù)據(jù)流為二進(jìn)制數(shù)據(jù)流,子集的確定在于要對(duì)多少位二進(jìn)制數(shù)據(jù)進(jìn)行編碼。例如,如果對(duì)5位二進(jìn)制進(jìn)行編碼,所述子集的容量最少為25個(gè)字符,即32個(gè)字符;如果對(duì)7位二進(jìn)制進(jìn)行編碼,所述子集的容量最少為27個(gè)字符,即128個(gè)字符。顯然,確定對(duì)二進(jìn)制編碼的位數(shù)是決定字符子集容量或大小的因素,所述二進(jìn)制位數(shù)越多,編碼壓縮的效率可能越高。但是,所述二進(jìn)制位數(shù)過多也會(huì)降低編碼壓縮的效率,因此,最佳的二進(jìn)制位數(shù)之一,例如七位可能更好的體現(xiàn)編碼壓縮的效率和計(jì)算機(jī)運(yùn)行效率之間的平衡。
最后在步驟23,使用所述字符集中第一字符子集的字符編碼規(guī)則,對(duì)待壓縮數(shù)據(jù)的二進(jìn)制流進(jìn)行編碼,將所述二進(jìn)制流變成字符流,所述字符流中的字符為所述字符集中第一字符子集中的字符。這里所述第一子集,實(shí)際上步驟2確定的子集中的任意一個(gè),只要這個(gè)子集滿足對(duì)待壓縮的數(shù)據(jù),即待壓縮的二進(jìn)制碼流的編碼需求。另一個(gè)子集,用于在采用任意一種算法對(duì)編碼后的數(shù)據(jù)進(jìn)行壓縮時(shí),生成相應(yīng)的控制數(shù)據(jù),即用該子集進(jìn)行編碼的控制數(shù)據(jù)。
在本實(shí)施例中,所述字符集為ASCII字符集,所述第一子集為ASCII字符集中的字符編碼部分。用其他的子集的編碼,例如數(shù)字部分的子集對(duì)控制數(shù)據(jù)的二進(jìn)制流進(jìn)行編碼。在本例中,采用ASCII字符集中的字符編碼部分的后7位二進(jìn)制編碼對(duì)待壓縮數(shù)據(jù)的二進(jìn)制流編碼,也可以用6位二進(jìn)制對(duì)待壓縮數(shù)據(jù)的二進(jìn)制流進(jìn)行編碼。
圖3是本發(fā)明采用的ASCII碼表,如果用6位二進(jìn)制對(duì)待壓縮數(shù)據(jù)的二進(jìn)制流進(jìn)行編碼,則需要占用該表的一半,本例中占用大寫字母A以后的64個(gè)字符組成的字符集,其余的字符編碼部分用于將來(lái)對(duì)控制數(shù)據(jù)進(jìn)行編碼。
由于任何實(shí)際傳輸?shù)臄?shù)據(jù),例如文本、圖像、數(shù)字等都可以轉(zhuǎn)化為二進(jìn)制形式的數(shù)據(jù),因此,對(duì)于下述待壓縮的二進(jìn)制數(shù)據(jù)001011101010101010來(lái)說,從最低位起,每6位劃分為一組,則分別為00001011,101010,101010,將上述三組數(shù)加上大寫字母A的二進(jìn)制編碼數(shù)41H(H表示十六進(jìn)制),則上述三組數(shù)對(duì)應(yīng)的ASCII碼字符集的字符K,j,j。即K,j,j為處理后的待要所數(shù)據(jù)。
在本發(fā)明的另一個(gè)實(shí)施例中,所述字符集為ISO-8859-1字符集,所述第一子集為ISO-8859-1字符集中的后7位或者后6位二進(jìn)制編碼對(duì)應(yīng)的字符子集。前文已有說明,實(shí)施上目前計(jì)算機(jī)領(lǐng)域使用的很多字符集都可以用于本發(fā)明,例如ISO-8859-1字符集,UNICODE字符集等。只要該字符集的兩個(gè)子集具有不同的編碼且滿足對(duì)二進(jìn)制編碼位數(shù)的要求即可。
在本發(fā)明的第三個(gè)實(shí)施例中,選擇二個(gè)字符集,所述兩個(gè)字符集或該兩個(gè)字符集中用于編碼的子集具有互不相同的編碼;而使用二個(gè)字符集中的第一字符集或用于編碼的子集的字符編碼規(guī)則,對(duì)待壓縮數(shù)據(jù)的二進(jìn)制流進(jìn)行編碼,將所述二進(jìn)制流變成字符流,所述字符流中的字符為所述第一字符集或用于編碼的子集中的字符。例如,所述的二個(gè)字符集可以為ASCII字符集和ISO-8859-1字符集。
本質(zhì)上,在本發(fā)明中,無(wú)論什么樣的字符集,甚至對(duì)于隨意編制的字符集,只要能夠用一個(gè)二進(jìn)制將對(duì)于待壓縮數(shù)據(jù)的編碼和控制數(shù)據(jù)的編碼區(qū)分把出來(lái),采用的編碼用的二進(jìn)制位數(shù)可以有很多,例如20位,只是編碼后的字符在顯示器上難以用通常的可理解的形式顯示出來(lái)而已。也就是說,在確定的可編碼的二進(jìn)制位數(shù)確定后,再增加至少一個(gè)二進(jìn)制位用于識(shí)別是對(duì)待壓縮數(shù)據(jù)編碼還是對(duì)控制數(shù)據(jù)編碼即可。所述增加的二進(jìn)制位可以放在編碼的前部、中部或后部的任意一個(gè)位置。由于此種處理方式過于簡(jiǎn)單,在此不再舉例。
在本發(fā)明的第四個(gè)實(shí)施例中,第一個(gè)字符集選擇ASCII字符集,用ASCII字符集的全部,即7位二進(jìn)制為待壓縮數(shù)據(jù)的編碼。在計(jì)算機(jī)中,數(shù)據(jù)的處理通常以字節(jié)(八位二進(jìn)制)或字節(jié)的倍數(shù)為單位,由于基本ASCII字符集只采用八位二進(jìn)制中的低七位用于字符的編碼,八位二進(jìn)制中的最高位不使用,因此用八位二進(jìn)制中的低七位對(duì)待壓縮數(shù)據(jù)編碼,最高位可以用于區(qū)分采用七位二進(jìn)制對(duì)控制數(shù)據(jù)編碼的字符,同時(shí)可以兼顧計(jì)算機(jī)處理數(shù)據(jù)的效率。由于基本ASCII字符集用于編碼的八位二進(jìn)制中只使用低七位,最高位為“0”,因此在此方案中,可以采用最高位為“1”的任何一個(gè)八位二進(jìn)制中的低七位對(duì)控制數(shù)據(jù)編碼,例如采用擴(kuò)展ASCII字符集的最高位為“1”的部分。
圖4是本發(fā)明所述壓縮數(shù)據(jù)傳輸方法的實(shí)施例流程圖。
按照?qǐng)D4,首先在步驟41選擇一個(gè)具有至少兩個(gè)字符子集的字符集,所述兩個(gè)字符子集具有互不相同的編碼。這樣選擇字符集,是為了利用該字符集的不同子集的編碼不同的特點(diǎn),對(duì)壓縮數(shù)據(jù)和控制數(shù)據(jù)進(jìn)行不同的編碼,以便在數(shù)據(jù)接收端能夠準(zhǔn)確獲得壓縮數(shù)據(jù)和控制數(shù)據(jù)。
然后在步驟42,從所述字符集中確定該兩個(gè)子集。所述子集的確定在于編碼的需求。由于待傳輸?shù)臄?shù)據(jù)流為二進(jìn)制數(shù)據(jù)流,子集的確定在于要對(duì)多少位二進(jìn)制數(shù)據(jù)進(jìn)行編碼。通常,需要選擇一個(gè)考慮計(jì)算機(jī)處理效率的最佳二進(jìn)制位數(shù),以獲得最佳的編碼壓縮的效率。例如最佳位數(shù)為“7”、“15”、“31”等,選擇計(jì)算機(jī)字長(zhǎng)的最高位區(qū)分對(duì)控制數(shù)據(jù)的編碼。
在步驟43,使用所述字符集中第一字符子集的字符編碼規(guī)則,對(duì)待壓縮數(shù)據(jù)的二進(jìn)制流進(jìn)行編碼,將所述二進(jìn)制流變成字符流,所述字符流中的字符為所述字符集中第一字符子集中的字符。
在本實(shí)施例中,所述字符集為擴(kuò)展ASCII字符集,所述第一子集為基本ASCII字符集中的全部字符編碼部分,即采用七位二進(jìn)制對(duì)待壓縮數(shù)據(jù)編碼。用其它的子集的編碼,即擴(kuò)展ASCII字符集的最高位為“1”的部分(擴(kuò)展部分)對(duì)控制數(shù)據(jù)的二進(jìn)制流進(jìn)行編碼。當(dāng)然,也可以采用其它方式的編碼,例如基本ASCII字符集中的字符編碼部分,或者采用基本ASCII字符集中的字符編碼部分的后7位或者后6位二進(jìn)制對(duì)待壓縮數(shù)據(jù)的二進(jìn)制流進(jìn)行編碼。如果采用ISO-8859-1字符集,所述第一子集為ISO-8859-1字符集中的后7位或者后6位二進(jìn)制編碼對(duì)應(yīng)的字符子集,等等。
在步驟44,對(duì)編碼后的字符流進(jìn)行壓縮生成壓縮數(shù)據(jù)。所述壓縮可以采用任意一種方法,例如采用本發(fā)明人同日申請(qǐng)的數(shù)據(jù)動(dòng)態(tài)壓縮方法中描述的方案。
然后在步驟45,根據(jù)步驟44壓縮后的數(shù)據(jù)的特性,使用所述字符集中第二字符子集的字符編碼規(guī)則生成所述壓縮數(shù)據(jù)的控制數(shù)據(jù),即使用擴(kuò)展ASCII字符集的擴(kuò)展部分生成所述控制數(shù)據(jù),最后在步驟46,將所述壓縮數(shù)據(jù)和所述控制數(shù)據(jù)打包發(fā)送出去。
所述字符流中的字符為所述第一字符集或用于編碼的子集中的字符。例如,所述的二個(gè)字符集可以為ASCII字符集和ISO-8859-1字符集。
假設(shè)對(duì)一段二進(jìn)制數(shù)據(jù)編碼后的數(shù)據(jù)流為ABACACBACA,在經(jīng)過步驟44對(duì)其進(jìn)行壓縮后形成的數(shù)據(jù)流為ABAC<2,2><4,5>,在該數(shù)據(jù)流中,有需要原文輸出的字符,也有標(biāo)識(shí)其它信息的數(shù)組,由于數(shù)組無(wú)法直接用二進(jìn)制來(lái)表示,因此,就需要確定控制數(shù)據(jù),并且要保證對(duì)控制數(shù)據(jù)的編碼不同于對(duì)待壓縮數(shù)據(jù)的編碼。在上述例子中,使用基本ASCII編碼表中字符編碼對(duì)待壓縮數(shù)據(jù)進(jìn)行了編碼,由于基本ASCII字符集用于編碼的八位二進(jìn)制中只使用低七位,最高位為“0”,因此在此方案中,可以采用最高位為“1”的其它編碼對(duì)控制數(shù)據(jù)編碼。在本例中,一個(gè)八位二進(jìn)制的控制數(shù)據(jù)的編碼,除最高位為“1”,用于區(qū)別對(duì)待壓縮數(shù)據(jù)的編碼,剩下的七位,高三位用于功能編碼,后四位用于表示二進(jìn)制位數(shù)。假設(shè)本例有三個(gè)命令功能,分別為輸出字符(編碼000)、輸出數(shù)組(編碼001)、有效位數(shù)(編碼002)(約定從最后一個(gè)字符起),則數(shù)據(jù)流ABAC<2,2><4,5>的輸出為(字符集中編號(hào)為84H的字符)ABAC(字符集中編號(hào)為94H的字符)2245,其中,84H(10000100)的二進(jìn)制含義,最高位“1”是區(qū)別符號(hào),后續(xù)的000表示輸出字符功能,后續(xù)的0100表示下面輸出4為數(shù)組的內(nèi)容。有關(guān)該方面的細(xì)節(jié)內(nèi)容由于超出了本發(fā)明的討論范疇,在此不再詳細(xì)討論。
在本例中,還可以這樣處理最后輸出的數(shù)據(jù)對(duì)于數(shù)據(jù)流ABAC<2,2><4,5>來(lái)說,需要區(qū)分?jǐn)?shù)據(jù)流中哪些字符表示原文,哪些字符表示數(shù)組,對(duì)于八個(gè)二進(jìn)制位分為一組的發(fā)送數(shù)據(jù)流來(lái)說,只要約定在八個(gè)字符前面的字符位控制字符即可,因此可以用八位二進(jìn)制中某位為“0”表示原文輸出,某位為“1”表示數(shù)組輸出,所以控制數(shù)據(jù)大編碼就表示為00001111B(等于0FH),因此得到完整的壓縮編碼,集控制數(shù)據(jù)加上編碼數(shù)據(jù)的輸出字符串位FABAC2245。
由于本實(shí)施例的實(shí)現(xiàn)細(xì)節(jié)前文已有說明,在此不再贅述。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種待壓縮數(shù)據(jù)的預(yù)處理方法,其特征在于包括選擇一個(gè)具有至少兩個(gè)字符子集的字符集,所述兩個(gè)字符子集具有互不相同的編碼;使用所述字符集中第一字符子集的字符編碼規(guī)則,對(duì)待壓縮數(shù)據(jù)的二進(jìn)制流進(jìn)行編碼,將所述二進(jìn)制流變成字符流,所述字符流中的字符為所述字符集中第一字符子集中的字符。
2.如權(quán)利要求1所述的待壓縮數(shù)據(jù)的預(yù)處理方法,其特征在于,所述字符集為ASCII字符集,所述第一子集為ASCII字符集中的字符編碼部分。
3.如權(quán)利要求2所述的待壓縮數(shù)據(jù)的預(yù)處理方法,其特征在于,采用ASCII字符集中的字符編碼部分的后7位或者后6位二進(jìn)制對(duì)待壓縮數(shù)據(jù)的二進(jìn)制流進(jìn)行編碼。
4.如權(quán)利要求1所述的待壓縮數(shù)據(jù)的預(yù)處理方法,其特征在于,所述字符集為ISO-8859-1字符集,所述第一子集為ISO-8859-1字符集中的后7位或者后6位二進(jìn)制編碼對(duì)應(yīng)的字符子集。
5.一種待壓縮數(shù)據(jù)的預(yù)處理方法,其特征在于包括選擇二個(gè)字符集,所述兩個(gè)字符集或用于編碼的子集具有互不相同的編碼;使用二個(gè)字符集中的第一字符集或用于編碼的子集的字符編碼規(guī)則,對(duì)待壓縮數(shù)據(jù)的二進(jìn)制流進(jìn)行編碼,將所述二進(jìn)制流變成字符流,所述字符流中的字符為所述第一字符集或用于編碼的子集中的字符。
6.如權(quán)利要求5所述的待壓縮數(shù)據(jù)的預(yù)處理方法,其特征在于,所述的二個(gè)字符集為ASCII字符集和ISO-8859-1字符集。
7.一種壓縮數(shù)據(jù)的傳輸方法,包括選擇一個(gè)具有至少兩個(gè)字符子集的字符集,所述兩個(gè)字符子集具有互不相同的編碼;使用所述字符集中第一字符子集的字符編碼規(guī)則,對(duì)待壓縮數(shù)據(jù)的二進(jìn)制流進(jìn)行編碼,將所述二進(jìn)制流變成字符流,所述字符流中的字符為所述字符集中第一字符子集中的字符;對(duì)編碼后的字符流進(jìn)行壓縮生成壓縮數(shù)據(jù);使用所述字符集中第二字符子集的字符編碼規(guī)則生成所述壓縮數(shù)據(jù)的控制數(shù)據(jù);將所述壓縮數(shù)據(jù)和所述控制數(shù)據(jù)打包發(fā)送。
8.如權(quán)利要求7所述的待壓縮數(shù)據(jù)的預(yù)處理方法,其特征在于,所述字符集為ASCII字符集,所述第一子集為ASCII字符集中的字符編碼部分。
9.如權(quán)利要求8所述的待壓縮數(shù)據(jù)的預(yù)處理方法,其特征在于,采用ASCII字符集中的字符編碼部分的后7位或者后6位二進(jìn)制對(duì)待壓縮數(shù)據(jù)的二進(jìn)制流進(jìn)行編碼。
10.如權(quán)利要求7所述的待壓縮數(shù)據(jù)的預(yù)處理方法,其特征在于,所述字符集采用ISO-8859-1字符集,所述第一子集為ISO-8859-1字符集中的后7位或者后6位二進(jìn)制編碼對(duì)應(yīng)的字符子集。
全文摘要
本發(fā)明公開了一種待壓縮數(shù)據(jù)的預(yù)處理方法,包括選擇一個(gè)具有至少兩個(gè)字符子集的字符集,所述兩個(gè)字符子集具有互不相同的編碼;使用所述字符集中第一字符子集的字符編碼規(guī)則,對(duì)待壓縮數(shù)據(jù)的二進(jìn)制流進(jìn)行編碼,將所述二進(jìn)制流變成字符流,所述字符流中的字符為所述字符集中第一字符子集中的字符。該方法能夠保證發(fā)送到數(shù)據(jù)接收端的控制數(shù)據(jù)和實(shí)際數(shù)據(jù)得到明確的區(qū)分,進(jìn)而保證利用解碼得到的控制數(shù)據(jù)對(duì)實(shí)際數(shù)據(jù)的解壓縮,有效恢復(fù)或還原實(shí)際數(shù)據(jù)。本發(fā)明還公開了一種利用待壓縮數(shù)據(jù)的預(yù)處理方法實(shí)現(xiàn)的壓縮數(shù)據(jù)的傳輸方法。
文檔編號(hào)H03M7/42GK1937582SQ20061010962
公開日2007年3月28日 申請(qǐng)日期2006年8月11日 優(yōu)先權(quán)日2006年8月11日
發(fā)明者白杰, 李薇, 魯征宇 申請(qǐng)人:白杰, 李薇, 魯征宇