文字編碼和譯碼方法、裝置及電子設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機應(yīng)用技術(shù)領(lǐng)域,特別是涉及文字編碼和譯碼方法、裝置及電子設(shè)備。
【背景技術(shù)】
[0002]隨著科學技術(shù)的發(fā)展,人們在紙上撰寫文章并保留文章的情況越來越少,人們更多的使用計算機來撰寫文章并存儲文章。
[0003]在計算機中,對于長篇幅的文本而言,在進行存儲時會占用較多存儲空間。對于中文而言,現(xiàn)有的方法用二進制編碼來表示中文,每個中文至少占雙字節(jié)。例如:中華人民共和國,每個中文用雙字節(jié)編碼,需要占用14字節(jié)??梢?,這種方法占用存儲空間較多。當然,其他文字,如日文、韓文的編碼方式也存在占用存儲空間較多的情況。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實施例的目的在于提供文字編碼和譯碼方法、裝置及電子設(shè)備,將分詞轉(zhuǎn)換為預(yù)設(shè)長度的編碼,減少占用的存儲空間。具體技術(shù)方案如下:
[0005]本發(fā)明實施例提供的一種文字編碼方法,應(yīng)用于電子設(shè)備中,所述電子設(shè)備中存儲有分詞編碼庫,所述分詞編碼庫包含有多個字典樹,各字典樹中的每個節(jié)點中均包含一個文字且各字典樹的根節(jié)點中包含的文字不同,每個字典樹包含以其根節(jié)點為分詞首字的所有預(yù)設(shè)分詞,且每個預(yù)設(shè)分詞的分詞尾字所在的節(jié)點對應(yīng)有預(yù)設(shè)長度的編碼,所述方法包括:
[0006]獲得待轉(zhuǎn)換文本中的當前分詞首字,其中,在開始對所述待轉(zhuǎn)換文本進行轉(zhuǎn)換時,所述當前分詞首字為所述待轉(zhuǎn)換文本中的首個文字;
[0007]在所述分詞編碼庫中找到根節(jié)點為當前分詞首字的樹;
[0008]在所述根節(jié)點的子節(jié)點中查找當前分詞首字的下一個字所在的節(jié)點,如果找到,則將該下一個字作為當前分詞尾字;
[0009]在確定的當前分詞尾字的子節(jié)點中查找當前分詞尾字的下一個字所在的節(jié)點;
[0010]如果找到,則將該下一個字作為當前分詞尾字,返回執(zhí)行所述在確定的當前分詞尾字的子節(jié)點中查找當前分詞尾字的下一個字所在的節(jié)點的步驟;如果未找到,則將以當前分詞首字為開始且以當前分詞尾字為結(jié)束的文本中的分詞轉(zhuǎn)換為當前分詞尾字對應(yīng)的預(yù)設(shè)長度的編碼,將轉(zhuǎn)換后得到的編碼存儲到編碼文件中,并將當前分詞尾字的下一個字確定為當前分詞首字,返回執(zhí)行所述在所述分詞編碼庫中找到根節(jié)點為當前分詞首字的樹的步驟,其中,各分詞轉(zhuǎn)換后得到的編碼在所述編碼文件中的存儲順序與各分詞在所述待轉(zhuǎn)換文本中的排列順序一致。
[0011 ]可選的,所述方法還包括:
[0012]如果在所述根節(jié)點的子節(jié)點中未找到當前分詞首字的下一個字所在的節(jié)點,將當前分詞首字轉(zhuǎn)換為對應(yīng)的預(yù)設(shè)長度的編碼,將轉(zhuǎn)換后得到的編碼存儲到編碼文件中,并將當前分詞首字的下一個字確定為當前分詞首字,返回執(zhí)行所述在所述分詞編碼庫中找到根節(jié)點為當前分詞首字的樹的步驟。
[0013]可選的,所述預(yù)設(shè)長度為3字節(jié)。
[0014]可選的,所述文字為英文、中文、韓文或日文。
[0015]本發(fā)明實施例提供的一種文字譯碼方法,用于對本發(fā)明實施例中任一種文字編碼方法中所述編碼文件進行處理,所述方法應(yīng)用于電子設(shè)備中,所述電子設(shè)備中存儲有分詞譯碼庫,所述分詞譯碼庫是根據(jù)所述分詞編碼庫設(shè)置的,所述分詞譯碼庫中對應(yīng)存儲有所述分詞編碼庫中的所有預(yù)設(shè)分詞及預(yù)設(shè)長度的編碼,所述方法包括:
[0016]獲得所述編碼文件中的當前編碼,其中,在開始對所述編碼文件中的編碼進行轉(zhuǎn)換時,所述當前編碼為所述編碼文件中的首個預(yù)設(shè)長度的編碼;
[0017]在所述分詞譯碼庫中查找所述當前編碼對應(yīng)的分詞;
[0018]將所述當前編碼轉(zhuǎn)換為查找到的分詞,將轉(zhuǎn)換后得到的分詞存儲到文本中,并將已轉(zhuǎn)換的當前編碼的下一個預(yù)設(shè)長度的編碼確定為當前編碼,返回執(zhí)行所述在所述分詞譯碼庫中查找所述當前編碼對應(yīng)的分詞的步驟,其中,各預(yù)設(shè)長度的編碼轉(zhuǎn)換后得到的分詞在所述文本中的排列順序與各預(yù)設(shè)長度的編碼在所述編碼文件中的存儲順序一致。
[0019]本發(fā)明實施例提供了一種文字編碼裝置,應(yīng)用于電子設(shè)備中,所述電子設(shè)備中存儲有分詞編碼庫,所述分詞編碼庫包含有多個字典樹,各字典樹中的每個節(jié)點中均包含一個文字且各字典樹的根節(jié)點中包含的文字不同,每個字典樹包含以其根節(jié)點為分詞首字的所有預(yù)設(shè)分詞,且每個預(yù)設(shè)分詞的分詞尾字所在的節(jié)點對應(yīng)有預(yù)設(shè)長度的編碼,所述裝置包括:
[0020]第一獲得模塊,用于獲得待轉(zhuǎn)換文本中的當前分詞首字,其中,在開始對所述待轉(zhuǎn)換文本進行轉(zhuǎn)換時,所述當前分詞首字為所述待轉(zhuǎn)換文本中的首個文字;
[0021]第一查找模塊,用于在所述分詞編碼庫中找到根節(jié)點為當前分詞首字的樹;
[0022]確定模塊,用于在所述根節(jié)點的子節(jié)點中查找當前分詞首字的下一個字所在的節(jié)點,如果找到,則將該下一個字作為當前分詞尾字;
[0023]第二查找模塊,用于在確定的當前分詞尾字的子節(jié)點中查找當前分詞尾字的下一個字所在的節(jié)點;
[0024]第一編碼模塊,用于第二查找模塊如果找到,則將該下一個字作為當前分詞尾字,觸發(fā)第二查找模塊;第二查找模塊如果未找到,則將以當前分詞首字為開始且以當前分詞尾字為結(jié)束的文本中的分詞轉(zhuǎn)換為當前分詞尾字對應(yīng)的預(yù)設(shè)長度的編碼,將轉(zhuǎn)換后得到的編碼存儲到編碼文件中,并將當前分詞尾字的下一個字確定為當前分詞首字,觸發(fā)第一查找模塊,其中,各分詞轉(zhuǎn)換后得到的編碼在所述編碼文件中的存儲順序與各分詞在所述待轉(zhuǎn)換文本中的排列順序一致。
[0025]可選的,所述裝置還包括:
[0026]第二編碼模塊,用于確定模塊如果在所述根節(jié)點的子節(jié)點中未找到當前分詞首字的下一個字所在的節(jié)點,將當前分詞首字轉(zhuǎn)換為對應(yīng)的預(yù)設(shè)長度的編碼,將轉(zhuǎn)換后得到的編碼存儲到編碼文件中,并將當前分詞首字的下一個字確定為當前分詞首字,觸發(fā)第一查找模塊。
[0027]可選的,所述預(yù)設(shè)長度為3字節(jié)。
[0028]可選的,所述文字為英文、中文、韓文或日文。
[0029]本發(fā)明實施例提供了一種文字譯碼裝置,用于對本發(fā)明實施例提供的任一種文字編碼裝置中所述編碼文件進行處理,所述裝置應(yīng)用于電子設(shè)備中,所述電子設(shè)備中存儲有分詞譯碼庫,所述分詞譯碼庫是根據(jù)所述分詞編碼庫設(shè)置的,所述分詞譯碼庫中對應(yīng)存儲有所述分詞編碼庫中的所有預(yù)設(shè)分詞及預(yù)設(shè)長度的編碼,所述裝置包括:
[0030]第二獲得模塊,用于獲得所述編碼文件中的當前編碼,其中,在開始對所述編碼文件中的編碼進行轉(zhuǎn)換時,所述當前編碼為所述編碼文件中的首個預(yù)設(shè)長度的編碼;
[0031]第三查找模塊,用于在所述分詞譯碼庫中查找所述當前編碼對應(yīng)的分詞;
[0032]譯碼模塊,用于將所述當前編碼轉(zhuǎn)換為第三查找模塊查找到的分詞,將轉(zhuǎn)換后得到的分詞存儲到文本中,并將已轉(zhuǎn)換的當前編碼的下一個預(yù)設(shè)長度的編碼確定為當前編碼,觸發(fā)第三查找模塊,其中,各預(yù)設(shè)長度的編碼轉(zhuǎn)換后得到的分詞在所述文本中的排列順序與各預(yù)設(shè)長度的編碼在所述編碼文件中的存儲順序一致。
[0033]本發(fā)明實施例提供的一種電子設(shè)備,所述電子設(shè)備中存儲有分詞編碼庫,所述分詞編碼庫包含有多個字典樹,各字典樹中的每個節(jié)點中均包含一個文字且各字典樹的根節(jié)點中包含的文字不同,每個字典樹包含以其根節(jié)點為分詞首字的所有預(yù)設(shè)分詞,且每個預(yù)設(shè)分詞的分詞尾字所在的節(jié)點對應(yīng)有預(yù)設(shè)長度的編碼,所述電子設(shè)備包括:
[0034]殼體、處理器、存儲器、電路板和電源電路,其中,電路板安置在殼體圍成的空間內(nèi)部,處理器和存儲器設(shè)置在電路板上;電源電路,用于為電子設(shè)備的各個電路或器件供電;存儲器用于存儲可執(zhí)行程序代碼;處理器通過讀取存儲器中存儲的可執(zhí)行程序代碼來運行與可執(zhí)行程序代碼對應(yīng)的程序,以用于執(zhí)行以下步驟:
[0035]獲得待轉(zhuǎn)換文本中的當前分詞首字,其中,在開始對所述待轉(zhuǎn)換文本進行轉(zhuǎn)換時,所述當前分詞首字為所述待轉(zhuǎn)換文本中的首個文字;
[0036]在所述分詞編碼庫中找到根節(jié)點為當前分詞首字的樹;
[0037]在所述根節(jié)點的子節(jié)點中查找當前分詞首字的下一個字所在的節(jié)點,如果找到,則將該下一個字作為當前分詞尾字;
[0038]在確定的當前分詞尾字的子節(jié)點中查找當前分詞尾字的下一個字所在的節(jié)點;
[0039]如果找到,則將該下一個字作為當前分詞尾字,返回執(zhí)行所述在確定的當前分詞尾字的子節(jié)點中查找當前分詞尾字的下一個字所在的節(jié)點的步驟;如果未找到,則將以當前分詞首字為開始且以當前分詞尾字為結(jié)束的文本中的分詞轉(zhuǎn)換為當前分詞尾字對應(yīng)的預(yù)設(shè)長度的編碼,將轉(zhuǎn)換后得到的編碼存儲到編碼文件中,并將當前分詞尾字的下一個字確定為當前分詞首字,返回執(zhí)行所述在所述分詞編碼庫中找到根節(jié)點為當前分詞首字的樹的步驟,其中,各分詞轉(zhuǎn)換后得到的編碼在所述編碼文件中的存儲順序與各分詞在所述待轉(zhuǎn)換文本中的排列順序一致。
[0040]本發(fā)明實施例提供的一種電子設(shè)備,所述電子設(shè)備中存儲有分詞譯碼庫,所述分詞譯碼庫是根據(jù)分詞編碼庫設(shè)置的,所述分詞編碼庫包含有多個字典樹,各字典樹中的每個節(jié)點中均包含一個文字且各字典樹的根節(jié)點中包含的文字不同,每個字典樹包含以其根節(jié)點為分詞首字的所有預(yù)設(shè)分詞,且每個預(yù)設(shè)分詞的分詞尾字所在的節(jié)點對應(yīng)有預(yù)設(shè)長度的編碼,所述分詞譯碼庫中對應(yīng)存儲有所述分詞編碼庫中的所有預(yù)設(shè)分詞及預(yù)設(shè)長度的編碼,所述電子設(shè)備包括:
[0041]殼體、處理器、存儲器、電路板和電源電路,其中,電路板安置在殼體圍成的空間內(nèi)部,處理器和存儲器設(shè)置在電路板上;電源電路,用于為電子設(shè)備的各個電路或器件供電;存儲器用于存儲可執(zhí)行程序代碼;處理器通過讀取存儲器中存儲的可執(zhí)行程序代碼來運行與可執(zhí)行程序代碼對應(yīng)的程序,以用于執(zhí)行以下步驟:
[0042]獲得編碼文件中的當前編碼,其中,所述編碼文件為待轉(zhuǎn)換文本根據(jù)所述分詞編碼庫編碼得到的文件,在開始對所述編碼文件