專利名稱:適用于兩種不同中文編碼的顯示方法
技術領域:
本發(fā)明涉及中文字符應用技術。
背景技術:
目前中文信息大多以字符編碼的方式進行存儲。在計算機軟件系統(tǒng)中,存在多種編碼方 法。簡體中文以UTF-8和GB2312為主要編碼。他們對英文字符中的前128個字符都等同于 ASCII編碼方法,主要區(qū)別在對中文字符的編碼方法上。每個中文字符編碼在GB2312中占用2 個字節(jié),而在UTF-8中占用3個字節(jié)。UTF-8最多支持每個字符編碼占有6個字節(jié)。
中文處理通常就是對特定中文編碼的字符串的進行處理。對中文字符串的處理時,有時 候并不能確知所處理的串中包含中文的編碼方法。由于UTF-8和GB2312在顯示漢字時都依賴 于所發(fā)送的漢字字符編碼,因此只有正確的判斷所處理的字符串的編碼方法,才能對漢字進 行正確的顯示。
UTF-8是Li皿x系統(tǒng)(一種開源的類Unix操作系統(tǒng))下常用的中文字符編碼方法,GB2312 是漢字編碼的國標。
發(fā)明內容
本發(fā)明所要解決的技術問題是,提供簡單有效的適用于兩種不同中文編碼的顯示方法。 本發(fā)明為解決上述技術問題所采用的技術方案是,適用于兩種不同中文編碼的顯示方法 ,包括以下步驟
a、 對字符串進行掃描;
b、 以第一編碼為準,判斷每個字節(jié)中字符編碼的合法性;合法編碼字符的個數(shù)是否小 于設定值,如是,則判定使用第二編碼作為當前中文字符編碼;如否,則判定使用第一編碼 作為當前中文字符編碼;
c、 以當前中文字符編碼顯示。
本發(fā)明的有益效果是,在需要對可能面對兩種不同中文編碼的環(huán)境中,能自動判斷編碼 格式,從而正確顯示漢字,增強軟件的適用性。
具體實施例方式
本方法的核心是對字符串進行掃描,對每個字節(jié)進行字符編碼合法性判斷,以合法編碼字符的個數(shù)來衡量選擇哪種編碼作為當前中文字符編碼。如果字符串的中文編碼格式是唯一 的,那么編碼可以迅速準確的確定。如果存在一些混和編碼的錯誤,可以通過設定值的設置 ,容忍這類錯誤的存在。
UTF-8具有特殊的編碼格式,因此可以先對字符串是否采用UTF-8進行判斷,以UTF-8編 碼方法作為第一編碼,第一編碼即為預設的默認編碼。從而在沒有額外信息的情況下,判定 字符串在UTF-8和GB2312中采用的那種編碼方法。
以UTF-8為默認編碼進行識別,判斷合法UTF-8編碼的中文編碼的個數(shù)是否達到預設值。 如是,判定使用UTF-8編碼;如否,判定使用GB2312編碼。最后,以判定使用的編碼為準顯 示漢字。預設值的設置取決于方法應用者對使用環(huán)境的需要進行取舍,若出現(xiàn)字串長度過短 而引起正確編碼個數(shù)未達到設定參數(shù)值的判斷條件,可以通過調低設定值來獲得最佳正確判 斷率。
本判斷方法經(jīng)編碼實現(xiàn)、測試正確,具有效率高,可靠性好的特點。能夠適應大多數(shù)情 況下區(qū)別單獨的UTF-8或GB中文編碼方法的編碼方法判斷,通過參數(shù)選擇,具有容錯擴展性 ??蓮V泛運用于需要進行字符編碼轉換判斷的系統(tǒng)。
權利要求
1.適用于兩種不同中文編碼的顯示方法,其特征在于,包括以下步驟a、對字符串進行掃描;b、以第一編碼為準,判斷每個字節(jié)中字符編碼的合法性;合法編碼字符的個數(shù)是否小于設定值,如是,則判定使用第二編碼作為當前中文字符編碼;如否,則判定使用第一編碼作為當前中文字符編碼;c、以當前中文字符編碼顯示。
2.如權利要求l所述適用于兩種不同中文編碼的顯示方法,其特征在 于,所述第一編碼為GB2312編碼;第二編碼為UTF-8編碼。
全文摘要
本發(fā)明涉及中文字符應用技術。本發(fā)明提供一種簡單有效的適用于兩種不同中文編碼的顯示方法,包括以下步驟a.對字符串進行掃描;b.以第一編碼為準,判斷每個字節(jié)中字符編碼的合法性;合法編碼字符的個數(shù)是否小于設定值,如是,則判定使用第二編碼作為當前中文字符編碼;如否,則判定使用第一編碼作為當前中文字符編碼;c.以當前中文字符編碼顯示。本發(fā)明能夠適應大多數(shù)情況下區(qū)別單獨兩種不通中文編碼方法,適用與可能面對兩種不同中文編碼的環(huán)境中。
文檔編號G06F17/22GK101290615SQ200810302119
公開日2008年10月22日 申請日期2008年6月13日 優(yōu)先權日2008年6月13日
發(fā)明者張恩陽, 濤 胡 申請人:四川長虹電器股份有限公司