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