專利名稱:一種微博信息的壓縮編碼和解碼的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,更具體地說,涉及一種微博信息的壓縮編碼和解碼的方法及裝置。
背景技術(shù):
目前,在各類微博終端中,微博中的文字的編碼主要有三種標(biāo)準(zhǔn)-J位(bit)的美國信息互換標(biāo)準(zhǔn)代石馬(ASCII, American Standard Code for Informationlnterchange)、 統(tǒng)一碼Unicode的16位編碼方式-通用字符集(UCS-2,UnicodeCharacter Set-2)和長度 1-6 個(gè)字節(jié)可變的 Unicode 變長字符編碼(UTF_8,UCS Transformation Format-8-bit)。這三種編碼都是以字符(漢字或英文字母)為單位的編碼標(biāo)準(zhǔn),每條中文微博長度一般限制為140個(gè)16位的漢字(即2240位),英文微博長度一般限制為140個(gè)8位字符(即1120 位)。所以,每條中文微博采用ASCII編碼可以發(fā)送320個(gè)英文字符,用UCS-2可以發(fā)送140 個(gè)漢字或英文字符,用UTF-8則可以平均發(fā)送93個(gè)漢字。對中國用戶而言,微博主要用漢字書寫,當(dāng)一條微博中包含了漢字,那么整體微博將全部以UCS-2或UTF-8的編碼模式發(fā)送, 而使用UCS-2或UTF-8編碼方法,一般需要采用4個(gè)以上的字節(jié)來表示中文詞組或英文單詞??梢钥闯?,由于UCS-2或UTF-8編碼方法需要采用4以上的字節(jié)數(shù)來表示中文詞組或英文單詞,因此在每條微博長度受限制的情況下,通過UCS-2或UTF-8編碼的每條微博的可寫字?jǐn)?shù)少,而且通過UCS-2或UTF-8編碼傳輸?shù)奈⒉?,需要傳輸較多的字符數(shù),其傳輸效率低并且傳輸?shù)木W(wǎng)絡(luò)流量高。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的在于提供一種微博信息的壓縮編碼和解碼的方法及裝置,以解決現(xiàn)有技術(shù)存在的由于UCS-2或UTF-8編碼需要4個(gè)以上字節(jié)數(shù)來表示中文詞組或英文單詞,而造成的中文微博傳輸效率低、傳輸網(wǎng)絡(luò)流量高以及每條微博可寫字?jǐn)?shù)少的問題。為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案一種微博信息的壓縮編碼的方法,步驟包括A.識別UCS-2編碼文本中各UCS-2編碼的字符類型,根據(jù)識別的字符類型,依照連續(xù)的同類型的字符劃分成一段的原則,將所述UCS-2編碼文本分成至少一個(gè)字符段;B.對于所述中文字符段,根據(jù)中文詞典,對所述中文字符段進(jìn)行分詞操作,生成包含至少一個(gè)切分單元的切分中文字符段,根據(jù)所述中文詞典和中文符號表,將所述切分單元壓縮再編碼成用2個(gè)字節(jié)表示,生成壓縮編碼中文字符段;對于所述英文字符段,根據(jù)英文字符間的空格符,將所述英文字符段切分成包含至少一個(gè)單詞的切分英文字符段,所述空格符為所述單詞之一,判斷所述單詞是否在英文字典中,若是,則根據(jù)英文字典,將所述單詞壓縮再編碼成用2個(gè)字節(jié)表示,若否,則將所述單詞的各英文字符壓縮再編碼成用1個(gè)字節(jié)表示,生成壓縮編碼英文字符段;C.根據(jù)步驟B生成的每個(gè)壓縮編碼字符段在微博中的順序,生成壓縮編碼微博。一種微博信息的壓縮編碼的裝置,包括微博分割模塊,用于識別UCS-2編碼文本中各UCS-2編碼的字符類型,根據(jù)識別的字符類型,依照連續(xù)的同類型的字符劃分成一段的原則,將所述UCS-2編碼文本分成至少一個(gè)字符段;中文字符壓縮編碼模塊,用于根據(jù)中文詞典對所述中文字符段進(jìn)行分詞操作,生成包含至少一個(gè)切分單元的切分中文字符段,根據(jù)所述中文詞典和中文符號表,將所述切分單元壓縮再編碼成用2個(gè)字節(jié)表示,生成壓縮編碼中文字符段;英文字符壓縮編碼模塊,用于根據(jù)英文字符間的空格符,將所述英文字符段切分成包含至少一個(gè)單詞的切分英文字符段,所述空格符為所述單詞之一,判斷所述單詞是否在英文字典中,若是,則根據(jù)英文字典,將所述單詞壓縮再編碼成用2個(gè)字節(jié)表示,若否,則將所述單詞的各英文字符壓縮再編碼成用1個(gè)字節(jié)表示,生成壓縮編碼英文字符段;壓縮編碼微博生成模塊,用于根據(jù)生成的每個(gè)壓縮編碼字符段在微博中的順序, 生成壓縮編碼微博。一種微博信息的解碼的方法,步驟包括a.從壓縮編碼微博中獲取壓縮編碼系列,根據(jù)所述壓縮編碼系列中各編碼的屬性,從所述壓縮編碼系列中區(qū)分中文編碼、英文單詞編碼和英文字符編碼;b.對于中文編碼,根據(jù)中文詞典和中文符號表,用與所述中文編碼對應(yīng)的UCS-2 編碼,編碼并替換所述中文編碼;對于英文單詞編碼,根據(jù)英文字典,用與所述英文單詞編碼對應(yīng)的UCS-2編碼,編碼并替換所述英文單詞編碼;對于英文字符編碼,用與所述英文字符編碼對應(yīng)的UCS-2編碼,編碼并替換所述英文字符編碼。一種微博信息的解碼的裝置,包括編碼識別模塊,用于從壓縮編碼微博中獲取壓縮編碼系列,根據(jù)所述壓縮編碼系列中各編碼的屬性,從所述壓縮編碼系列中區(qū)分中文編碼、英文單詞編碼和英文字符編碼;中文編碼解碼模塊,用于根據(jù)中文詞典和中文符號表,用與所述中文編碼對應(yīng)的 UCS-2編碼,編碼并替換所述中文編碼;英文單詞解碼模塊,用于根據(jù)英文字典,用與所述英文單詞編碼對應(yīng)的UCS-2編碼,編碼并替換所述英文單詞編碼;英文字符解碼模塊,用于用與所述英文字符編碼對應(yīng)的UCS-2編碼,編碼并替換所述英文字符編碼。從上述技術(shù)方案可以看出,本發(fā)明實(shí)施例中,通過設(shè)置中文詞典、中文符號表和英文字典,對中文字符段中的切分單元的UCS-2編碼進(jìn)行壓縮再編碼,使各切分單元只需用 2個(gè)字節(jié)表示;對英文字符段中能在英文字典中查找到的單詞的UCS-2編碼進(jìn)行壓縮再編碼,使原來用4個(gè)以上字節(jié)表示的單詞,如今只需用2個(gè)字節(jié)表示;對英文字符段中沒有在英文字典中找到的單詞,將該單詞的各英文字符的UCS-2編碼轉(zhuǎn)換為與其UCS-2編碼對應(yīng)的只需用1個(gè)字節(jié)表示的ASCII編碼。本發(fā)明實(shí)施例用2個(gè)字節(jié)表示能在中文詞典中查找到的中文詞組、用2個(gè)字節(jié)表示能在英文字典中查找到的英文單詞,與使用UCS-2或UTF-8 編碼相比,本發(fā)明實(shí)施例節(jié)省了微博傳輸?shù)淖址麛?shù),提高了傳輸效率,降低了網(wǎng)絡(luò)流量,增加了每條微博的可寫字?jǐn)?shù)。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖Ia為本發(fā)明一種微博信息的壓縮編碼和解碼的方法及裝置的中文詞典的結(jié)構(gòu)圖;圖Ib為本發(fā)明一種微博信息的壓縮編碼和解碼的方法及裝置的中文符號表的結(jié)構(gòu)圖;圖Ic為本發(fā)明一種微博信息的壓縮編碼和解碼的方法及裝置的英文字典的結(jié)構(gòu)圖;圖2為本發(fā)明一種微博信息的壓縮編碼的方法的實(shí)施例一的流程圖;圖3為本發(fā)明一種微博信息的壓縮編碼的方法的實(shí)施例二的流程圖;圖4為與圖2所示方法相對應(yīng)的微博信息的壓縮編碼的裝置示意圖;圖5為與圖3所示方法相對應(yīng)的微博信息的壓縮編碼的裝置示意圖;圖6為圖3所示方法的細(xì)化的流程圖;圖7為本發(fā)明的微博信息經(jīng)壓縮編碼后各類字符的碼位分布圖;圖8為與圖2和圖3所示微博信息的壓縮編碼的方法相對應(yīng)的微博信息的解碼方法的流程圖;圖9為與圖8所示微博信息的解碼方法相對應(yīng)的裝置示意圖;圖10為圖8所示微博信息的解碼方法的細(xì)化流程圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。圖Ia為本發(fā)明實(shí)施例提供的中文詞典的結(jié)構(gòu)圖,該中文詞典收錄了 11520個(gè)微博常用的中文詞組和斷句,該中文詞典中的詞組都用2個(gè)字節(jié)表示;圖Ib為本發(fā)明實(shí)施例提供的中文符號表的結(jié)構(gòu)圖,該中文符號表收錄了微博常用的256個(gè)中文符號;圖Ic為本發(fā)明實(shí)施例提供的英文字典的結(jié)構(gòu)圖,該英文字典收錄了 8192個(gè)字母個(gè)數(shù)大于3的微博常用英文詞組,該英文字典中的單詞都用2個(gè)字節(jié)表示。需要說明的是,上述圖Ia-圖Ic中示出的中文詞典、中文符號表和英文字典僅僅是特別的例子,實(shí)際上可以根據(jù)實(shí)際需要靈活調(diào)整中文詞典、中文符號表和英文字典中的內(nèi)容。以下公開的實(shí)施例都是根據(jù)該中文詞典、中文符號表和英文字典,對微博信息進(jìn)行壓縮編碼和解碼。圖2為本發(fā)明一種微博信息的壓縮編碼的方法的實(shí)施例一的流程圖,如圖2所示, 該方法包括以下步驟步驟S10、識別UCS-2編碼文本中各UCS-2編碼的字符類型,根據(jù)識別的字符類型,依照連續(xù)的同類型的字符劃分成一段的原則,將所述UCS-2編碼文本分成至少一個(gè)字符段;其中,UCS-2編碼文本的字符類型包括3種情況1、UCS_2編碼文本的字符類型全為中文字符;2、UCS-2編碼文本的字符類型全為英文字符;3、UCS-2編碼文本的字符類型包括中文字符和英文字符;其中,對已識別的字符類型將進(jìn)行標(biāo)記;當(dāng)UCS-2編碼文本的字符類型全為中文字符時(shí),將整個(gè)UCS-2編碼文本視為一個(gè)中文字符段;當(dāng)UCS-2編碼文本的字符類型全為英文字符時(shí),將整個(gè)UCS-2編碼文本視為一個(gè)英文字符段;當(dāng)UCS-2編碼文本的字符類型包括中文字符和英文字符時(shí),根據(jù)識別的中文字符和英文字符,將UCS-2編碼文本分成至少一個(gè)中文字符段和至少一個(gè)英文字符段,每個(gè)中文字符段包括一段連續(xù)存放的中文字符,每個(gè)英文字符段包括一段連續(xù)存放的英文字符;步驟S11、對于中文字符段,根據(jù)中文詞典,對所述中文字符段進(jìn)行分詞操作,生成包含至少一個(gè)切分單元的切分中文字符段,根據(jù)所述中文詞典和中文符號表,將所述切分單元壓縮再編碼成用2個(gè)字節(jié)表示,生成壓縮編碼中文字符段;其中,根據(jù)中文詞典,可采用通用的前向最大匹配法對中文字符段進(jìn)行分詞操作, 得到分割成為至少一個(gè)切分單元的中文字符段;將切分單元壓縮再編碼成用2個(gè)字節(jié)表示的過程具體為若切分單元為中文詞典中存在的詞組,則用該詞組在中文詞典中的序號+0x8000,對該詞組的UCS-2編碼進(jìn)行編碼和替換;若切分單元為漢字,則用該漢字的UCS-2編碼+0x6000,對該漢字的UCS-2編碼進(jìn)行編碼和替換;若切分單元為中文符號,則用該中文符號在中文符號表中的序號+OxADOO, 對該中文符號的UCS-2編碼進(jìn)行編碼和替換;經(jīng)過上述對中文字符段的壓縮再編碼,根據(jù)中文詞典,可用2個(gè)字節(jié)來表示原來用4個(gè)以上字節(jié)表示的中文詞組。在傳輸相同內(nèi)容的微博時(shí),本發(fā)明實(shí)施例大大節(jié)省了微博傳輸?shù)淖址麛?shù),提高了傳輸效率,降低了網(wǎng)絡(luò)流量,增加了每條微博的可寫字?jǐn)?shù);步驟S12、對于英文字符段,根據(jù)英文字符間的空格符,將所述英文字符段切分成包含至少一個(gè)單詞的切分英文字符段,所述空格符為所述單詞之一,判斷所述單詞是否在英文字典中,若是,則根據(jù)英文字典,將所述單詞壓縮再編碼成用2個(gè)字節(jié)表示,若否,則將所述單詞的各英文字符壓縮再編碼成用1個(gè)字節(jié)表示,生成壓縮編碼英文字符段;其中,若英文字符段中的單詞能在英文字典中查找到,則用該單詞在英文字典中的序號,編碼并替換該單詞的UCS-2編碼;若單詞不能在英文字典中查找到,則用與該單詞 USC-2編碼對應(yīng)的ASCII碼,對該單詞的UCS-2編碼進(jìn)行編碼和替換;通過上述對英文字符段的壓縮再編碼,根據(jù)英文字典,可用2個(gè)字節(jié)來表示原來用4個(gè)以上字節(jié)表示的英文單詞。在傳輸相同內(nèi)容的微博時(shí),本發(fā)明實(shí)施例大大節(jié)省了微博傳輸?shù)淖址麛?shù),提高了傳輸效率,降低了網(wǎng)絡(luò)流量,增加了每條微博的可寫字?jǐn)?shù);這里需要說明的是,步驟Sll和步驟S12是對步驟SlO分成的中文字符段和英文字符段分別作出的處理,步驟Sll是針對中文字符段的情況作出的處理,步驟S12是針對英文字符段的情況作出的處理,步驟Sll與步驟S12不存在步驟順序先后的問題;步驟S13、根據(jù)上述生成的每個(gè)壓縮編碼字符段在微博中的順序,生成壓縮編碼微博;其中,當(dāng)步驟SlO中識別的各UCS-2編碼的字符類型全為中文字符時(shí),步驟Sll生成的壓縮編碼中文字符段為壓縮編碼微博;當(dāng)步驟SlO中識別的各UCS-2編碼的字符類型全為英文字符時(shí),步驟S12生成的壓縮編碼英文字符段為壓縮編碼微博;當(dāng)步驟SlO中識別的各UCS-2編碼的字符類型包括中文字符和英文字符時(shí),根據(jù)每個(gè)中文字符段和英文字符段在微博中的順序,將步驟Sii生成的每個(gè)壓縮編碼中文字符段和步驟S12生成每個(gè)的壓縮編碼英文字符段合并為壓縮編碼微博;其中,為了便于解碼,可將每個(gè)16位的編碼采用高位在前,低位在后的存放方式。圖3為本發(fā)明一種微博信息的壓縮編碼的方法的實(shí)施例二的流程圖,與圖2所示方法相比,圖3所示方法在步驟SlO之前還包括步驟S09、判斷微博的文字編碼中是否有非UCS-2編碼,若是,則調(diào)用轉(zhuǎn)換函數(shù)將所述非USC-2編碼轉(zhuǎn)換為UCS-2編碼。圖4為與圖2所示方法相對應(yīng)的微博信息的壓縮編碼的裝置示意圖,該裝置包括微博分割模塊10,用于識別UCS-2編碼文本中各UCS-2編碼的字符類型,根據(jù)識別的字符類型,依照連續(xù)的同類型的字符劃分成一段的原則,將所述UCS-2編碼文本分成至少一個(gè)字符段;微博分割模塊10的功能與圖2所示方法的步驟SlO相對應(yīng);中文字符壓縮編碼模塊11,用于根據(jù)中文詞典對所述中文字符段進(jìn)行分詞操作, 生成包含至少一個(gè)切分單元的切分中文字符段,根據(jù)所述中文詞典和中文符號表,將所述切分單元壓縮再編碼成用2個(gè)字節(jié)表示,生成壓縮編碼中文字符段;中文字符壓縮編碼模塊11的功能與圖2所示方法的步驟Sll相對應(yīng);英文字符壓縮編碼模塊12,用于根據(jù)英文字符間的空格符,將所述英文字符段切分成包含至少一個(gè)單詞的切分英文字符段,所述空格符為所述單詞之一,判斷所述單詞是否在英文字典中,若是,則根據(jù)英文字典,將所述單詞壓縮再編碼成用2個(gè)字節(jié)表示,若否, 則將所述單詞的各英文字符壓縮再編碼成用1個(gè)字節(jié)表示,生成壓縮編碼英文字符段;英文字符壓縮編碼模塊12的功能與圖2所示流程的步驟S12相對應(yīng);壓縮編碼微博生成模塊13,用于根據(jù)生成的每個(gè)壓縮編碼字符段在微博中的順序,生成壓縮編碼微博;壓縮編碼微博生成模塊13的功能與圖2所示方法的步驟S13相對應(yīng)。該微博信息的壓縮編碼的裝置,根據(jù)中文詞典和英文字典,可用2個(gè)字節(jié)來表示原來用4個(gè)以上字節(jié)表示的中文詞組和英文單詞。在傳輸相同內(nèi)容的微博時(shí),本發(fā)明實(shí)施例大大節(jié)省了微博傳輸?shù)淖址麛?shù),提高了傳輸效率,降低了網(wǎng)絡(luò)流量,增加了每條微博的可寫字?jǐn)?shù)。圖5為與圖3所示方法相對應(yīng)的微博信息的壓縮編碼的裝置示意圖,與圖4所示裝置相比,圖5所示裝置還包括編碼轉(zhuǎn)換模塊09,用于判斷微博的文字編碼中是否有非UCS-2編碼,若是,則調(diào)用轉(zhuǎn)換函數(shù)將所述非USC-2編碼轉(zhuǎn)換為UCS-2編碼;編碼轉(zhuǎn)換模塊09的功能與圖3所示方法的步驟S09相對應(yīng)。圖6為圖3所示方法的細(xì)化的流程圖,現(xiàn)以微博“我今天下午2:40去Wallmart, 買了超cool的裙子?!睘槔?,結(jié)合圖6,詳細(xì)說明該方法的具體流程,包括以下步驟步驟S101、判斷微博的文字編碼中是否有非UCS-2編碼,若是,則調(diào)用轉(zhuǎn)換函數(shù)將所述非USC-2編碼轉(zhuǎn)換為UCS-2編碼;步驟S102、判斷UCS-2編碼文本中的各字符編碼是否大于0X7F,若是,執(zhí)行步驟 S103,若否,執(zhí)行步驟S104 ;步驟S103、標(biāo)記該字符為中文字符,添加中文字符標(biāo)記,執(zhí)行步驟S105 ;步驟S104、標(biāo)記該字符為英文字符,添加英文字符標(biāo)記;以上述微博內(nèi)容“我今天下午2:40去Wallmart,買了超cool的裙子?!睘槔?,則字符“我今天下午去,買了超的裙子?!睒?biāo)記為中文字符,字符“2:40WallmartCOOl”標(biāo)記為英文字符;需要說明的是,步驟S103和步驟S104是針對不同的字符類型情況所作出的處理, 步驟S103與步驟S104不存在步驟順序先后的問題;步驟S105、根據(jù)上述的字符標(biāo)記,依照連續(xù)的同類型的字符劃分成一段的原則,將所述UCS-2編碼文本分成至少一個(gè)字符段;上述微博分割得到7個(gè)不同的字符段,中文字符段有“我今天下”、“去”、“,買了超”和“的裙子。”,英文字符段有"2:40,,、"ffalImart,,和“cool";步驟S106、對于中文字符段,根據(jù)中文詞典,采用通用的前向最大匹配法對所有的中文字符段進(jìn)行分詞操作,得到包含至少一個(gè)切分單元的切分中文字符段;上述微博中的中文字符段分詞后得到的切分單元共11個(gè),為“我/今天/下午”、 “去”、“,/買/ 了 /超”和“的/裙子/。,,;步驟S107、判斷上述切分單元的長度值是否大于1,若是,則該切分單元為詞組, 執(zhí)行步驟S108,若否,執(zhí)行步驟S109 ;中文字符段“我/今天/下午”、“去”、“,/買/ 了 /超”和“的/裙子/。,,中,“今天”、“下午”和“裙子”的長度值都大于1,因此“今天”、“下午”和“裙子”為詞組,執(zhí)行步驟 S108,而“我”、“去”、“,,,、“買”、“ T,,、“超”、“的”和“。,,長度值均不大于1,執(zhí)行步驟S109 ;步驟S108、將該詞組的UCS-2編碼,用該詞組在中文詞典中序號+0x8000進(jìn)行編碼和替換,執(zhí)行步驟S112;例如,詞組“今天”和“下午”在中文詞典中的序號為0x0A12和0x0CA5,則詞組“今天,,的 UCS-2 編碼(0x4ECA,0x5929,32 位)和“下午”的 UCS-2 編碼(0x4E0B,0x5:348,32 位)分別轉(zhuǎn)換為"0x8A12" (16位)和"0x8CA5" (16位);步驟S109、判斷該切分單元的UCS-2編碼是否在0x4E00至0x9FFF之間,若是,則為漢字,執(zhí)行步驟S110,若否,則為中文符號,執(zhí)行步驟Slll ;
切分單元“我”、“去”、“,”、“買”、“了”、“超”、“的”和“?!敝校拔摇?、“去”、“買”、“了”、
“超”和“的”為漢字,執(zhí)行步驟S110,“,,,和“?!睘橹形姆枺瑘?zhí)行步驟Slll ;步驟Sl 10、把該漢字的UCS-2編碼,用該漢字的UCS-2編碼+0x6000進(jìn)行編碼和替換,執(zhí)行步驟S112 ;例如,漢字“我”(UCS-2編碼為0x6211)和“的”(UCS-2編碼為0x7684)的編碼轉(zhuǎn)換為 “0xC211” 和 “0xD684” ;步驟S111、把該中文符號的UCS-2編碼,用該中文符號在中文符號表中的序號 +OxADOO進(jìn)行編碼和替換,執(zhí)行步驟S112 ;例如,中文符號“?!痹谥形姆柋碇械男蛱枮椤?x01”,中文符號“。”的編碼將由原來的UCS-2編碼轉(zhuǎn)換為“OxADOl” ;步驟S112、判斷所有切分單元的UCS-2編碼是否全部轉(zhuǎn)換,若是,執(zhí)行步驟S118, 若否,執(zhí)行步驟S107 ;其中,可設(shè)置計(jì)數(shù)器來判斷是否所有切分單元都已轉(zhuǎn)換,上述微博中有11個(gè)單元,可在計(jì)數(shù)器中設(shè)置初始數(shù)為11,每編碼替換一個(gè)切分單元的UCS-2編碼,則初始數(shù)減1, 最后計(jì)數(shù)器值為0,則切分單元全部轉(zhuǎn)換;步驟S113、以英文字符間的空格符為間隔符,將英文字符段切分成包含至少一個(gè)單詞的切分英文字符段,其中,英文字符間的空格符本身也是一個(gè)單詞;英文字符段"2:40”、“WalImart,,和 “cool” 中,“240”、“WalImart,,和 “cool” 均為切分出的單詞;需要說明的是,步驟S113為步驟S105后針對英文字符段所作的處理,,步驟S113 與步驟S106為分別針對英文字符段和中文字符段所作的處理,步驟S113與步驟S106不存在順序先后的問題;步驟S114、判斷上述單詞是否能在英文字典中查找到,若是,則執(zhí)行步驟S115,若否,則執(zhí)行步驟S116;“cool”可在英文字典中查找到,執(zhí)行步驟S115,“2:40”和“Wallmart”在英文字典中查找不到,執(zhí)行步驟S116;步驟S115、將該單詞的UCS-2編碼,用該單詞在英文字典中的序號進(jìn)行編碼和替換,執(zhí)行步驟S117;例如,“cool”在英文字典中的序號為“0x07DE”,“cool”的UCS-2編碼(0x0063, 0x006F, 0x006F, 0x6C,共 64 位)將轉(zhuǎn)換為 “0x07DE” (16 位);步驟S116、將該單詞的每個(gè)英文字符的UCS-2編碼,用與該英文字符對應(yīng)的ASCII 碼進(jìn)行編碼和替換,執(zhí)行步驟S117 ;例如,“Wallmart”的 UCS-2 編碼(0x0057,0x0061,0x006C,0x0060,0x006D, 0x0061,0x0072,0x0074,共 128 位)轉(zhuǎn)換為“0x57,0x61,0x6C,0x60,x6D,0x61,0x72,0x74”, 共64位;步驟S117、判斷所有單詞的UCS-2編碼是否全部轉(zhuǎn)換,若是,執(zhí)行步驟S118,若否, 執(zhí)行步驟Sl 14;其中,可設(shè)置計(jì)數(shù)器來判斷是否所有單詞都已轉(zhuǎn)換;步驟S118、合成壓縮編碼微博;
其中,根據(jù)每個(gè)中文字符段和英文字符段在微博中的順序,把壓縮再編碼后的中文字符段和英文字符段合并成為壓縮編碼微博,為了便于解碼,可對每個(gè)16位的編碼采用高位在前,低位在后的存放方式。上述流程是以微博內(nèi)容包括中文字符和英文字符的情況為例,對該微博的壓縮再編碼的具體流程所作的說明;顯然,微博內(nèi)容全為中文字符或微博內(nèi)容全為英文字符的情況,可通過對上述實(shí)施例的描述,推導(dǎo)出具體流程,這里不再贅述。微博“我今天下午2:40去Wallmart,買了超cool的裙子?!钡默F(xiàn)有UCS-2編碼與
本發(fā)明實(shí)施例的壓縮編碼如下表所示
權(quán)利要求
1.一種微博信息的壓縮編碼的方法,其特征在于,步驟包括A.識別UCS-2編碼文本中各UCS-2編碼的字符類型,根據(jù)識別的字符類型,依照連續(xù)的同類型的字符劃分成一段的原則,將所述UCS-2編碼文本分成至少一個(gè)字符段;B.對于中文字符段,根據(jù)中文詞典,對所述中文字符段進(jìn)行分詞操作,生成包含至少一個(gè)切分單元的切分中文字符段,根據(jù)所述中文詞典和中文符號表,將所述切分單元壓縮再編碼成用2個(gè)字節(jié)表示,生成壓縮編碼中文字符段;對于英文字符段,根據(jù)英文字符間的空格符,將所述英文字符段切分成包含至少一個(gè)單詞的切分英文字符段,所述空格符為所述單詞之一,判斷所述單詞是否在英文字典中,若是,則根據(jù)英文字典,將所述單詞壓縮再編碼成用2個(gè)字節(jié)表示,若否,則將所述單詞的各英文字符壓縮再編碼成用1個(gè)字節(jié)表示,生成壓縮編碼英文字符段;C.根據(jù)步驟B生成的每個(gè)壓縮編碼字符段在微博中的順序,生成壓縮編碼微博。
2.根據(jù)權(quán)利要求1所述的微博信息的壓縮編碼的方法,其特征在于,所述步驟B中生成壓縮編碼中文字符段的具體步驟包括Bll.根據(jù)中文詞典,采用前向最大匹配法對所述中文字符段進(jìn)行分詞操作,生成包含至少一個(gè)切分單元的切分中文字符段;B12.判斷所述切分單元的長度值是否大于1,若是,則所述切分單元為詞組,執(zhí)行步驟 B13,若否,執(zhí)行步驟B14;B13.用所述詞組在所述中文詞典中的序號+0x8000,對所述詞組的UCS-2編碼進(jìn)行編碼并替換,執(zhí)行步驟B17;B14.判斷所述切分單元的值是否在0x4E00至0x9FFF之間,若是,則所述切分單元為漢字,執(zhí)行步驟B15,若否,則所述切分單元為中文符號,執(zhí)行步驟B16 ;B15.用所述漢字的UCS-2編碼+0x6000,對所述漢字的UCS-2編碼進(jìn)行編碼并替換,執(zhí)行步驟B17 ;B16.用所述中文符號在中文符號表中的序號+OxADOO,對所述中文符號的UCS-2編碼進(jìn)行編碼并替換,執(zhí)行步驟B17 ;B17.判斷所有切分單元的UCS-2編碼是否全部轉(zhuǎn)換,若是,執(zhí)行步驟C,若否,執(zhí)行步驟B12。
3.根據(jù)權(quán)利要求2所述的微博信息的壓縮編碼的方法,其特征在于,所述步驟B中生成壓縮編碼英文字符段的具體步驟包括B21.根據(jù)英文字符間的空格符,將所述英文字符段切分成包含至少一個(gè)單詞的切分英文字符段,所述空格符為所述單詞之一;B22.在英文字典中查找所述單詞,若能找到所述單詞,則執(zhí)行步驟B23,若不能找到所述單詞,則執(zhí)行步驟B24;B23.用所述單詞在所述英文字典中的序號,對所述單詞的UCS-2編碼進(jìn)行編碼并替換,執(zhí)行步驟B25;B24.用與所述單詞的UCS-2編碼對應(yīng)的ASCII碼,對所述單詞的UCS-2編碼進(jìn)行編碼并替換,執(zhí)行步驟B25;B25.判斷所有單詞的UCS-2編碼是否全部轉(zhuǎn)換,若是,執(zhí)行步驟C,若否,執(zhí)行步驟B22。
4.根據(jù)權(quán)利要求3所述的微博信息的壓縮編碼的方法,其特征在于,所述步驟C具體為當(dāng)步驟A中識別的各UCS-2編碼的字符類型全為中文字符時(shí),所述壓縮編碼中文字符段為壓縮編碼微博;當(dāng)步驟A中識別的各UCS-2編碼的字符類型全為英文字符時(shí),所述壓縮編碼英文字符段為壓縮編碼微博;當(dāng)步驟A中識別的各UCS-2編碼的字符類型包括中文字符和英文字符時(shí),根據(jù)每個(gè)所述中文字符段和所述英文字符段在微博中的順序,將每個(gè)所述壓縮編碼中文字符段和所述壓縮編碼英文字符段合并為壓縮編碼微博。
5.根據(jù)權(quán)利要求1所述的微博信息的壓縮編碼的方法,其特征在于,所述步驟A中“識別UCS-2編碼文本中各UCS-2編碼的字符類型”具體為判斷UCS-2編碼文本各字符的UCS-2編碼是否大于0x7F,若是,則標(biāo)記所述字符為中文字符,若否,則標(biāo)記所述字符為英文字符。
6.根據(jù)權(quán)利要求1-5任一項(xiàng)所述的微博信息的壓縮編碼的方法,其特征在于,所述步驟A前還包括步驟判斷微博的文字編碼中是否有非UCS-2編碼,若是,則調(diào)用轉(zhuǎn)換函數(shù)將所述非USC-2編碼轉(zhuǎn)換為UCS-2編碼。
7.一種微博信息的壓縮編碼的裝置,其特征在于,包括微博分割模塊,用于識別UCS-2編碼文本中各UCS-2編碼的字符類型,根據(jù)識別的字符類型,依照連續(xù)的同類型的字符劃分成一段的原則,將所述UCS-2編碼文本分成至少一個(gè)字符段;中文字符壓縮編碼模塊,用于根據(jù)中文詞典對所述中文字符段進(jìn)行分詞操作,生成包含至少一個(gè)切分單元的切分中文字符段,根據(jù)所述中文詞典和中文符號表,將所述切分單元壓縮再編碼成用2個(gè)字節(jié)表示,生成壓縮編碼中文字符段;英文字符壓縮編碼模塊,用于根據(jù)英文字符間的空格符,將所述英文字符段切分成包含至少一個(gè)單詞的切分英文字符段,所述空格符為所述單詞之一,判斷所述單詞是否在英文字典中,若是,則根據(jù)英文字典,將所述單詞壓縮再編碼成用2個(gè)字節(jié)表示,若否,則將所述單詞的各英文字符壓縮再編碼成用1個(gè)字節(jié)表示,生成壓縮編碼英文字符段;壓縮編碼微博生成模塊,用于根據(jù)生成的每個(gè)壓縮編碼字符段在微博中的順序,生成壓縮編碼微博。
8.根據(jù)權(quán)利要求7所述的微博信息的壓縮編碼的裝置,其特征在于,還包括編碼轉(zhuǎn)換模塊,用于判斷微博的文字編碼中是否有非UCS-2編碼,若是,則調(diào)用轉(zhuǎn)換函數(shù)將所述非USC-2編碼轉(zhuǎn)換為UCS-2編碼。
9.一種微博信息的解碼的方法,其特征在于,步驟包括a.從壓縮編碼微博中獲取壓縮編碼系列,根據(jù)所述壓縮編碼系列中各編碼的屬性,從所述壓縮編碼系列中區(qū)分中文編碼、英文單詞編碼和英文字符編碼;b.對于中文編碼,根據(jù)中文詞典和中文符號表,用與所述中文編碼對應(yīng)的UCS-2編碼, 編碼并替換所述中文編碼;對于英文單詞編碼,根據(jù)英文字典,用與所述英文單詞編碼對應(yīng)的UCS-2編碼,編碼并替換所述英文單詞編碼;對于英文字符編碼,用與所述英文字符編碼對應(yīng)的UCS-2編碼,編碼并替換所述英文字符編碼。
10. 一種微博信息的解碼的裝置,其特征在于,包括編碼識別模塊,用于從壓縮編碼微博中獲取壓縮編碼系列,根據(jù)所述壓縮編碼系列中各編碼的屬性,從所述壓縮編碼系列中區(qū)分中文編碼、英文單詞編碼和英文字符編碼;中文編碼解碼模塊,用于根據(jù)中文詞典和中文符號表,用與所述中文編碼對應(yīng)的UCS-2 編碼,編碼并替換所述中文編碼;英文單詞解碼模塊,用于根據(jù)英文字典,用與所述英文單詞編碼對應(yīng)的UCS-2編碼,編碼并替換所述英文單詞編碼;英文字符解碼模塊,用于用與所述英文字符編碼對應(yīng)的UCS-2編碼,編碼并替換所述英文字符編碼。
全文摘要
本發(fā)明實(shí)施例公開了微博信息的壓縮編碼和解碼的方法及裝置,本發(fā)明實(shí)施例通過設(shè)置中文詞典、中文符號表和英文字典對使用UCS-2編碼的微博進(jìn)行壓縮再編碼,其中壓縮編碼的方法概括為識別UCS-2編碼文本中各UCS-2編碼的字符類型,根據(jù)識別的字符類型,依照連續(xù)的同類型的字符劃分成一段的原則,將所述UCS-2編碼文本分成至少一個(gè)字符段;根據(jù)中文詞典和中文符號表,對中文字符段進(jìn)行壓縮再編碼;根據(jù)英文字典,對英文字符段進(jìn)行壓縮再編碼;生成壓縮編碼微博。根據(jù)本發(fā)明實(shí)施例,可用2個(gè)字節(jié)表示原來用4個(gè)以上字節(jié)表示的中文詞組和英文單詞,節(jié)省了微博傳輸?shù)淖址麛?shù),提高了傳輸效率,降低了網(wǎng)絡(luò)流量,增加了每條微博的可寫字?jǐn)?shù)。
文檔編號G06F17/30GK102508824SQ201110298118
公開日2012年6月20日 申請日期2011年9月29日 優(yōu)先權(quán)日2011年9月29日
發(fā)明者刁紅軍, 張玉華, 朱巧明, 朱曉旭, 李培峰 申請人:蘇州大學(xué)