專利名稱:一種確定網(wǎng)頁編碼方式的方法及設備的制作方法
技術領域:
本發(fā)明涉及網(wǎng)絡技術領域,特別涉及一種確定網(wǎng)頁編碼方式的方法及設備。
背景技術:
隨著網(wǎng)絡技術的發(fā)展,越來越多的用戶選擇使用終端設備(如手機、計算機、平板電腦等)上網(wǎng),上網(wǎng)時需要使用瀏覽器(Browser)以實現(xiàn)對網(wǎng)頁的瀏覽,目前常用的瀏覽器包括微軟公司的IE瀏覽器(Microsoft Internet Explorer)、FireFox瀏覽器等;目前,瀏覽器對網(wǎng)頁的識別過程如下根據(jù)HTTP協(xié)議(HyperText Transfer Protocol,超文本傳輸協(xié)議),獲取待編碼網(wǎng)頁HTTP響應頭(Response headers)中的聲明編碼方式或待編碼網(wǎng)頁源代碼內的ΜΕΤΑ 標簽中的聲明編碼方式,并根據(jù)該聲明編碼方式調用相應的字符集進行編碼,最終顯示出該網(wǎng)頁的具體內容;若獲取網(wǎng)頁的聲明編碼方式失敗,則采用該瀏覽器默認的編碼方式對該網(wǎng)頁進行編碼,并顯示出該網(wǎng)頁的具體內容。但在實際應用中,尤其是采用手機終端中的瀏覽器瀏覽網(wǎng)頁時,一般是通過 WAP(Wireless Application Protocol,無線應用協(xié)議)代理以實現(xiàn)瀏覽互聯(lián)網(wǎng)的網(wǎng)頁,即先由互聯(lián)網(wǎng)的服務器將網(wǎng)頁的信息(如該網(wǎng)頁的HTTP響應頭或該網(wǎng)頁源代碼)發(fā)送至WAP 代理,并由WAP代理進行處理,再由WAP代理將處理后的該網(wǎng)頁的信息發(fā)送至瀏覽器,由瀏覽器對網(wǎng)頁進行識別;有可能出現(xiàn)以下情況第一種情況是瀏覽器能成功獲取到該網(wǎng)頁的聲明編碼方式,但瀏覽器獲取的是經(jīng) WAP代理處理后的聲明編碼方式,其有可能與原始的該網(wǎng)頁的聲明編碼方式不一致,從而容易導致網(wǎng)頁亂碼現(xiàn)象;第二種情況是瀏覽器無法獲取到該網(wǎng)頁的聲明編碼方式,則由于瀏覽器采用默認的編碼方式進行處理,極有可能出現(xiàn)網(wǎng)頁亂碼現(xiàn)象。綜上所述,現(xiàn)有的確定網(wǎng)頁編碼方式的方法的正確率低,從而使網(wǎng)頁進行編碼處理后容易出現(xiàn)亂碼現(xiàn)象。
發(fā)明內容
本發(fā)明實施例提供了一種確定網(wǎng)頁編碼方式的方法及設備,用于解決現(xiàn)有技術中存在的確定網(wǎng)頁編碼方式的方法的正確率低,從而使網(wǎng)頁進行編碼處理后容易出現(xiàn)亂碼現(xiàn)象的問題。本發(fā)明實施例提供了一種確定網(wǎng)頁編碼方式的方法,包括確定待編碼網(wǎng)頁的參考編碼方式數(shù)組,所述參考編碼方式數(shù)組中包括至少一種參考編碼方式;根據(jù)所述參考編碼方式數(shù)組及本地預設的包括至少一種備選編碼方式的備選編碼方式數(shù)組,確定出包含在所述參考編碼方式數(shù)組和所述備選編碼方式數(shù)組中的一種編碼方式作為所述待編碼網(wǎng)頁的編碼方式。較佳地,所述備選編碼方式數(shù)組中包括一種備選編碼方式;
確定所述待編碼網(wǎng)頁的編碼方式包括若所述參考編碼方式數(shù)組中包括該備選編碼方式,則確定該備選編碼方式為所述待編碼網(wǎng)頁的編碼方式。
較佳地,所述備選編碼方式數(shù)組中包括多種備選編碼方式;確定所述待編碼網(wǎng)頁的編碼方式包括從所述備選編碼方式數(shù)組中選擇包含在所述參考編碼方式數(shù)組中,且優(yōu)先級別最高的備選編碼方式作為所述待編碼網(wǎng)頁的編碼方式。較佳地,確定待編碼網(wǎng)頁的參考編碼方式數(shù)組之后,本發(fā)明實施例的方法還包括在所述參考編碼方式數(shù)組中不包括所述備選編碼方式數(shù)組中任一備選編碼方式時,確定所述參考編碼方式數(shù)組中優(yōu)先級最高的參考編碼方式為所述待編碼網(wǎng)頁的編碼方式。較佳地,所述方法還包括將選擇的備選編碼方式對應的計數(shù)器增加一個預設的增量;在優(yōu)先級低的備選編碼方式對應的計數(shù)器中的數(shù)值大于優(yōu)先級高的備選編碼方式對應的計數(shù)器中的數(shù)值時,更新所述備選編碼方式數(shù)組中備選編碼方式的優(yōu)先級。較佳地,所述方法還包括將選擇的參考編碼方式數(shù)組中優(yōu)先級最高的參考編碼方式作為所述備選編碼方式數(shù)組中新的備選編碼方式,并設置所述新的備選編碼方式的優(yōu)先級最低。較佳地,根據(jù)下列步驟確定所述參考編碼方式數(shù)組獲取所述待編碼網(wǎng)頁的每個框架frame中的部分網(wǎng)頁數(shù)據(jù);根據(jù)獲取到的網(wǎng)頁數(shù)據(jù)確定該網(wǎng)頁數(shù)據(jù)對應的參考編碼方式數(shù)組。本發(fā)明實施例提供了一種確定網(wǎng)頁編碼方式的設備,所述設備包括確定模塊,用于確定待編碼網(wǎng)頁的參考編碼方式數(shù)組,所述參考編碼方式數(shù)組中包括至少一種參考編碼方式;處理模塊,用于根據(jù)所述參考編碼方式數(shù)組及本地預設的包括至少一種備選編碼方式的備選編碼方式數(shù)組,確定出包含在所述參考編碼方式數(shù)組和所述備選編碼方式數(shù)組中的一種編碼方式作為所述待編碼網(wǎng)頁的編碼方式。較佳地,所述處理模塊具體用于從所述備選編碼方式數(shù)組中選擇在所述參考編碼方式數(shù)組中的備選編碼方式作為所述待編碼網(wǎng)頁的編碼方式。較佳地,所述處理模塊具體用于所述備選編碼方式數(shù)組中包括一種備選編碼方式,若所述參考編碼方式數(shù)組中包括該備選編碼方式,則確定該備選編碼方式為所述待編碼網(wǎng)頁的編碼方式。較佳地,所述處理模塊具體用于所述備選編碼方式數(shù)組中包括多種備選編碼方式,從所述備選編碼方式數(shù)組中選擇包含在所述參考編碼方式數(shù)組中,且優(yōu)先級別最高的備選編碼方式作為所述待編碼網(wǎng)頁的編碼方式。較佳地,所述處理模塊還用于
在所述參考編碼方式數(shù)組中不包括所述備選編碼方式數(shù)組中任一備選編碼方式時,確定所述參考編碼方式數(shù)組中優(yōu)先級最高的參考編碼方式為所述待編碼網(wǎng)頁的編碼方式。較佳地,所述設備還包括
第一更新模塊,用于將選擇的備選編碼方式對應的計數(shù)器增加一個預設的增量; 在優(yōu)先級低的備選編碼方式對應的計數(shù)器中的數(shù)值大于優(yōu)先級高的備選編碼方式對應的計數(shù)器中的數(shù)值時,更新所述備選編碼方式數(shù)組中備選編碼方式的優(yōu)先級。較佳地,所述設備還包括第二更新模塊,用于將選擇的參考編碼方式數(shù)組中優(yōu)先級最高的參考編碼方式作為所述備選編碼方式數(shù)組中新的備選編碼方式,并設置所述新的備選編碼方式的優(yōu)先級最低。本發(fā)明實施例根據(jù)確定的參考編碼方式數(shù)組中的參考編碼方式與本地預設的備選編碼方式數(shù)組中的備選編碼方式,確定待編碼網(wǎng)頁的編碼方式,由于不完全依賴于待編碼網(wǎng)頁的聲明編碼方式及優(yōu)先級最高的參考編碼方式,在聲明編碼方式與待編碼網(wǎng)頁的實際編碼方式不一致,或在參考編碼方式數(shù)組中的優(yōu)先級最高的參考編碼方式與待編碼網(wǎng)頁的實際編碼方式不一致時,確定的待編碼網(wǎng)頁的編碼方式更準確,從而有效降低了編碼處理后的網(wǎng)頁頁面發(fā)生亂碼現(xiàn)象的概率。
圖1為本發(fā)明實施例的第一種確定網(wǎng)頁編碼方式的方法流程圖;圖2為本發(fā)明實施例的第二種確定網(wǎng)頁編碼方式的方法流程圖;圖3為本發(fā)明實施例的第三種確定網(wǎng)頁編碼方式的方法流程圖;圖4A為本發(fā)明實施例的第一種確定網(wǎng)頁編碼方式的設備結構示意圖;圖4B為本發(fā)明實施例的第二種確定網(wǎng)頁編碼方式的設備結構示意圖。
具體實施例方式本發(fā)明根據(jù)確定的參考編碼方式數(shù)組中的參考編碼方式與本地預設的備選編碼方式數(shù)組中的備選編碼方式,確定待編碼網(wǎng)頁的編碼方式的方式,使確定的待編碼網(wǎng)頁的編碼方式更準確,有效降低了網(wǎng)頁頁面發(fā)生亂碼現(xiàn)象的概率。下面結合附圖對本發(fā)明實施例進行詳細描述。需要說明的是,以下實施例中都是以中文文字編碼方式為例對本發(fā)明實施例進行說明的,確定其他語言文字(如日文、韓文等)網(wǎng)頁的編碼方式的方法與其類似,此處不再贅述?,F(xiàn)有的中文文字的編碼方式主要包括UTF_8 (UNICODE的一種變長字符編碼又稱萬國碼)、GBK (中文編碼擴展國家標準)、GB2312 (信息交換用漢字編碼字符集)、BIG_5 (大五碼)、IS0-8859-1 (單字節(jié)編碼),實際使用中,使用率高的編碼方式有UTF-8、GBK及 BIG-5。 本發(fā)明實施例適用于所有的移動終端,尤其適用于手機設備。較佳地,本發(fā)明實施例適用于Android系統(tǒng)內的基于WebKit的瀏覽器。在執(zhí)行本發(fā)明實施例的確定網(wǎng)頁編碼方式的方法之前,先根據(jù)接收到的啟動指令,啟動WebKit(開源的瀏覽器引擎)的自動檢測文字編碼;即將手機設備中的瀏覽器設置中的文字編碼設置為自動檢測文字編碼;具體的,在瀏覽器的設置菜單中的文字編碼方式中增加“自動檢測文字編碼”選項,供用戶選擇;若用戶選擇該選項,則采用本發(fā)明實施例的方法確定待編碼網(wǎng)頁的編碼方式;用戶在選擇該“自動檢測文字編碼”選項后,瀏覽器通過調用以下程序實現(xiàn)啟動本發(fā)明實施例的確定網(wǎng)頁編碼方式的方法S ettingssetUsesEncodingDetector (true)。本發(fā)明實施例提供了一種確定網(wǎng)頁編碼方式的方法,如圖1所示,包括以下步驟S101、確定待編碼網(wǎng)頁的參考編碼方式數(shù)組,該參考編碼方式數(shù)組中包括至少一種參考編碼方式;S102、根據(jù)參考編碼方式數(shù)組及本地預設的包括至少一種備選編碼方式的備選編碼方式數(shù)組,確定出包含在該參考編碼方式數(shù)組和該備選編碼方式數(shù)組中的一種編碼方式作為待編碼網(wǎng)頁的編碼方式。步驟SlOl中,參考編碼方式數(shù)組是根據(jù)待編碼網(wǎng)頁的網(wǎng)頁數(shù)據(jù)確定的;較佳地,參考編碼方式數(shù)組是通過一個第三方軟件I⑶(International Componets for Unicode,國際化組件)確定的;具體的,根據(jù)以下步驟確定待編碼網(wǎng)頁的參考編碼方式數(shù)組將待編碼網(wǎng)頁的網(wǎng)頁數(shù)據(jù)通過I⑶提供的接口發(fā)送至I⑶進行處理;其中,I⑶是一個開源的軟件開發(fā)庫。ICU根據(jù)收到的待編碼網(wǎng)頁的網(wǎng)頁數(shù)據(jù),確定該網(wǎng)頁數(shù)據(jù)對應的參考編碼方式數(shù)組;其中,參考編碼方式數(shù)組中的參考編碼方式的優(yōu)先級是根據(jù)該網(wǎng)頁數(shù)據(jù)的實際編碼方式與參考編碼方式之間的匹配度的高低確定的,即匹配度越高的參考編碼方式,其優(yōu)先級也就越高,其在該參考編碼方式數(shù)組中的排列位置也就越靠前,依此類推;即優(yōu)先級最高的參考編碼方式排在該參考編碼方式數(shù)組中的matCheS
的位置上。下面以Android系統(tǒng)內的基于WebKit的瀏覽器為例進行說明,其他情況與其類似,此處不再贅述。現(xiàn)有的WebKit對于收到的待編碼網(wǎng)頁的網(wǎng)頁數(shù)據(jù)的編碼是通過 TextResourceDecoder類的decode方法實現(xiàn)的;在啟用了自動檢測文字編碼功能的情況下,大約每緩存4KB網(wǎng)頁數(shù)據(jù)均調用一次decode方法進行編碼處理;由于每個網(wǎng)頁頁面框架(frame)內的文字編碼方式一般都是統(tǒng)一的,因此,為了提高對待編碼網(wǎng)頁進行編碼處理的效率,較佳地,本發(fā)明實施例根據(jù)下列步驟獲取待編碼網(wǎng)頁的網(wǎng)頁數(shù)據(jù)獲取待編碼網(wǎng)頁的每個框架中的部分網(wǎng)頁數(shù)據(jù);則確定待編碼網(wǎng)頁的參考編碼方式數(shù)組包括根據(jù)待編碼網(wǎng)頁的每個框架中的部分網(wǎng)頁數(shù)據(jù),確定每個框架對應的參考編碼方式數(shù)組。需要說明的是,每次緩存多少網(wǎng)頁數(shù)據(jù)才會進行編碼處理取決于移植WebKit時, 為WebKit提供的HTTP的處理機制,由于WebKit自身沒有HTTP數(shù)據(jù)收發(fā)機制,需要在移動終端的安裝系統(tǒng)移植時為其提供數(shù)據(jù)收發(fā)功能。其中,在Android系統(tǒng)內,大約每緩存4KB 數(shù)據(jù)后才會提交給WebKit進行處理。較佳地,在Android系統(tǒng)內,獲取待編碼網(wǎng)頁的每個框架中的第一批緩存的4KB網(wǎng)頁數(shù)據(jù),根據(jù)每個框架中的第一批緩存的4KB網(wǎng)頁數(shù)據(jù),確定每個框架對應的參考編碼方式數(shù)組;本發(fā)明實施例通過減少調用decode方法的次數(shù),以提高編碼處理的效率。在確定待編碼網(wǎng)頁的編碼方式之后,本發(fā)明實施例還包括采用確定的編碼方式對待編碼網(wǎng)頁進行編碼處理,以顯示該待編碼網(wǎng)頁的文字內容。本地預設的備選編碼方式數(shù)組包括以下兩種情況第一種情況本地預設的備選編碼方式數(shù)組中僅包括一種備選編碼方式,則根據(jù)以下步驟確定待編碼網(wǎng)頁的編碼方式若確定 的參考編碼方式數(shù)組中包括該備選編碼方式,則確定該備選編碼方式為待編碼網(wǎng)頁的編碼方式;若確定的參考編碼方式數(shù)組中不包括該備選編碼方式,則確定該參考編碼方式數(shù)組中默認的參考編碼方式(一般為參考編碼方式數(shù)組中排序位置在第一位的參考編碼方式,即匹配度最高的參考編碼方式)為待編碼網(wǎng)頁的編碼方式;需要說明的是,若確定的待編碼網(wǎng)頁的編碼方式為參考編碼方式數(shù)組中默認的參考編碼方式,則通過I⑶提供的接口從ICU中調用該確定的待編碼網(wǎng)頁的編碼方式,對待編碼網(wǎng)頁進行編碼處理,以顯示網(wǎng)頁的文字內容。舉例說明,如圖2所示,若本地預設的備選編碼方式數(shù)組中僅包括UTF-8 —種備選編碼方式,則確定待編碼網(wǎng)頁的編碼方式包括以下步驟S201、判斷確定的參考編碼方式數(shù)組中是否包括UTF-8 ;若是,則執(zhí)行S202 ;若否, 則執(zhí)行S203 ;S202、確定UTF-8為待編碼網(wǎng)頁的編碼方式;并結束本流程;S203、確定參考編碼方式數(shù)組中默認的參考編碼方式為待編碼網(wǎng)頁的編碼方式;S204、通過I⑶提供的接口從I⑶中調用確定的待編碼網(wǎng)頁的編碼方式。第二種情況本地預設的備選編碼方式數(shù)組中包括多種備選編碼方式時,則根據(jù)以下步驟確定待編碼網(wǎng)頁的編碼方式若在參考編碼方式數(shù)組中包括備選編碼方式數(shù)組中至少一個備選編碼方式時,確定備選編碼方式數(shù)組中優(yōu)先級別最高,且包含在參考編碼方式中的備選編碼方式作為待編碼網(wǎng)頁的編碼方式;其中,本地預設的備選編碼方式數(shù)組中的備選編碼方式的優(yōu)先級可以根據(jù)備選編碼方式在實際使用中的使用率的高低設定的,一般備選編碼方式的實際使用率越高,則在該備選編碼方式數(shù)組中的優(yōu)先級別就越高;若在參考編碼方式數(shù)組中不包括備選編碼方式數(shù)組中任一備選編碼方式時,確定參考編碼方式數(shù)組中優(yōu)先級別最高的參考編碼方式作為待編碼網(wǎng)頁的編碼方式。下面以本地預設的備選編碼方式數(shù)組中包括三個備選編碼方式為例進行說明,其他情況與其類似,此處不再贅述。如圖3所示,若本地預設的備選編碼方式數(shù)組中包括UTF-8、GBK及BIG-5三種備選編碼方式,該三種備選編碼方式在該備選編碼方式數(shù)組的優(yōu)先級從高到低依次為 UTF-8、GBK、BIG-5 ;則確定待編碼網(wǎng)頁的編碼方式包括以下步驟S301、判斷確定的參考編碼方式數(shù)組中是否包括UTF-8 ;若是,則執(zhí)行S302 ;若否,則執(zhí)行S303 ;S302、確定UTF-8為待編碼網(wǎng)頁的編碼方式,并結束本流程;S303、判斷確定的參考編碼方式數(shù)組中是否包括GBK ;若是,則執(zhí)行S304 ;若否,則執(zhí)行S305 ;
S304、確定GBK為待編碼網(wǎng)頁的編碼方式,并結束本流程;S305、判斷確定的參考編碼方式數(shù)組中是否包括BIG-5 ;若是,則執(zhí)行S306 ;若否, 則執(zhí)行S307 ;S306、確定BIG-5為待編碼網(wǎng)頁的編碼方式,并結束本流程;S307、確定參考編碼方式數(shù)組中匹配度最高的參考編碼方式(即參考編碼方式數(shù)組中的第一個參考編碼方式matches
)為待編碼網(wǎng)頁的編碼方式;S308、通過I⑶提供的接口從I⑶中調用確定的編碼方式。較佳地,本發(fā)明實施例的確定待編碼網(wǎng)頁的編碼方式可通過以下程序實現(xiàn)
if (shouldAutoDetectO) { //如果開啟了 WebKit的自動檢測文字編碼功能; if (m_encoding.isJapanese()) //如果待編碼網(wǎng)頁的網(wǎng)頁數(shù)據(jù)是日文;
detectJapaneseEncoding(data, len); //確定待編碼網(wǎng)頁的編碼
方式;
else { //否則;
if (!m codec) { //如果當前頁面框架Frame尚未構建文本編碼 (Text Codec )對象;
TextEncoding detectedEncoding; //構造一個文本編碼信息
對象;
if(detectTextEncoding(data,len,m_hintEncoding,
&detectedEncodmg;)) //根據(jù)本發(fā)明實施例的方法確定data變量內的網(wǎng)頁數(shù)椐的編碼方式,并將結果保存至構造的文本編碼信息對象內;
setEncoding(detectedEncoding, AutoDetectedEncoding);
//根椐m codec中保存的編碼方式對data內的數(shù)椐進行編碼處理; }
}
}其中,shouldAutoDetectO用于判斷是否啟動WebKit的自動檢測文字編碼方式機制,即是否啟動本發(fā)明實施例的確定網(wǎng)頁編碼方式的方法;在上述程序中,日文與其它語言文字是分別處理的,也就是說,對于確定日文網(wǎng)頁的編碼方式,WebKit并不使用I⑶檢測其文字編碼方式,而是使用 detactJapaneseEncoding()實現(xiàn)日文網(wǎng)頁編碼方式檢測;而對于非日文文字,尤其是中文文字,則采用detectTextEncodingO檢測判斷算法,并通過ICU實現(xiàn)文字編碼方式的判斷;本發(fā)明實施例是對TextResourceDecoder類的decode方法進行改進,m_codec為 TextResourceDecoder類的成員變量,當收到待編碼網(wǎng)頁的頁面框架的第一批網(wǎng)頁數(shù)據(jù)時, 構造該對象;本發(fā)明實施例僅在接收到第一批網(wǎng)頁數(shù)據(jù)時判斷網(wǎng)頁數(shù)據(jù)對應的編碼方式。
背景技術:
中確定待編碼網(wǎng)頁的編碼方式的方法中,在獲取到該待編碼網(wǎng)頁的聲明編碼方式時,確定獲取的聲明編碼方式為待編碼網(wǎng)頁的編碼方式;由于在獲取到該待編碼網(wǎng)頁的聲明編碼方式時完全依賴于網(wǎng)頁的聲明編碼方式,又由于手機終端一般都是通過 WAP代理瀏覽互聯(lián)網(wǎng)網(wǎng)頁,所以,容易導致確定的待編碼網(wǎng)頁的編碼方式與待編碼網(wǎng)頁的實際編碼方式不一致,從而出現(xiàn)頁面亂碼的現(xiàn)象;而本發(fā)明實施例通過參考編碼方式數(shù)組與本地預設的備選編碼方式數(shù)組確定待編碼網(wǎng)頁的編碼方式,由于不考慮是否能獲取到該待編碼網(wǎng)頁的聲明編碼方式,所以能夠有效降低頁面發(fā)生亂碼現(xiàn)象;一般可以選擇Android系統(tǒng)內的I⑶確定的參考編碼方式數(shù)組中的第一個參考編碼方式matChes
作為待編碼網(wǎng)頁的編碼方式;但是實際應用中,待編碼網(wǎng)頁的實際編碼方式常常與I⑶返回的參考編碼方式數(shù)組的matches
不一致,從而導致采用matches
對待編碼網(wǎng)頁進行編碼處理后,頁面出現(xiàn)亂碼現(xiàn)象;本發(fā)明實施例通過比較參考編碼方式數(shù)組中的參考編碼方式與本地預設備選編碼方式數(shù)組中的備選編碼方式,確定的待編碼網(wǎng)頁的編碼方式,由于不完全依賴于ICU返回的參考編碼方式數(shù)組,從而使確定的待編碼網(wǎng)頁的編碼方式更為準確,進而能夠有效降低頁面發(fā)生亂碼現(xiàn)象。本發(fā)明實施例的方法還包括在備選編碼方式數(shù)組中增加新的備選編碼方式;及對備選編碼方式數(shù)組中當前備選編碼方式的優(yōu)先級進行更新。具體的,本發(fā)明實施例的增加新的備選編碼方式包括在參考編碼方式數(shù)組中不包括備選編碼方式數(shù)組中任一的備選編碼方式時,將選擇的參考編碼方式數(shù)組中優(yōu)先級最高的參考編碼方式作為該備選編碼方式數(shù)組中新的備選編碼方式,并設置該新的備選編碼方式的優(yōu)先級最低。以圖2所示的方法為例,假設參考編碼方式數(shù)組的matches
中的參考編碼方式為 GBK ;在參考編碼方式數(shù)組中不包括UTF-8時,確定參考編碼方式數(shù)組中的matches
即GBK為待編碼網(wǎng)頁的編碼方式;將GBK添加至備選編碼方式數(shù)組中,并設置GBK的優(yōu)先級最低;此時備選編碼方式數(shù)組包括兩種備選編碼方式,按優(yōu)先級從高到低依次為UTF-8、GBK0本發(fā)明實施例的對備選編碼方式數(shù)組中當前備選編碼方式的優(yōu)先級進行更新,包括從備選編碼方式數(shù)組中選擇在參考編碼方式數(shù)組中的備選編碼方式之后,將選擇的備選編碼方式對應的計數(shù)器增加一個預設的增量;其中預設的增量為經(jīng)驗值,一般為1 ;
在優(yōu)先級低的備選編碼方式對應的計數(shù)器中的數(shù)值大于優(yōu)先級高的備選編碼方式對應的計數(shù)器中的數(shù)值時,更新該備選編碼方式數(shù)組中備選編碼方式的優(yōu)先級;以圖3所示的方法為例,假設UTF-8、GBK、BIG_5對應的計數(shù)器中原始數(shù)值均為0 ;若確定的待編碼網(wǎng)頁的編碼方式為UTFUU UTF-8對應的計數(shù)器中的數(shù)值加1 ;若確定的待編碼網(wǎng)頁的編碼方式為GBK,則GBK對應的計數(shù)器中的數(shù)值加1 ;
若確定的待編碼網(wǎng)頁的編碼方式為BIG-5,則BIG-5對應的計數(shù)器中的數(shù)值加1 ;在UTF-8對應的計數(shù)器的當前數(shù)值為10,GBK對應的計數(shù)器的當前數(shù)值為11 ; BIG-5對應的計數(shù)器的當前數(shù)值為8時,即優(yōu)先級低的GBK對應的計數(shù)器的當前數(shù)值大于優(yōu)先級高的UTF-8對應的計數(shù)器的當前數(shù)值,則更新該備選編碼方式數(shù)組中的備選編碼方式的優(yōu)先級,更新后的參考編碼方式的優(yōu)先級從高到低依次為GBK、UTF-8、BIG-5?;谕话l(fā)明構思,本發(fā)明實施例中還提供了一種確定網(wǎng)頁編碼方式的設備,由于該設備解決問題的原理與上述確定網(wǎng)頁編碼方式的方法相似,因此該設備的實施可以參見方法的實施,重復之處不再贅述。本發(fā)明實施例提供了一種確定網(wǎng)頁編碼方式的設備,如圖4A所示,設備包括確定模塊40,用于確定待編碼網(wǎng)頁的參考編碼方式數(shù)組,該參考編碼方式數(shù)組中包括至少一種參考編碼方式;處理模塊41,用于根據(jù)參考編碼方式數(shù)組及本地預設的包括至少一種備選編碼方式的備選編碼方式數(shù)組,確定出包含在該參考編碼方式數(shù)組和該備選編碼方式數(shù)組中的一種編碼方式作為待編碼網(wǎng)頁的編碼方式。較佳地,處理模塊41具體用于備選編碼方式數(shù)組中包括一種備選編碼方式,若參考編碼方式數(shù)組中包括該備選編碼方式,則確定該備選編碼方式為待編碼網(wǎng)頁的編碼方式。較佳地,處理模塊41具體用于備選編碼方式數(shù)組中包括多種備選編碼方式,從該備選編碼方式數(shù)組中選擇包含在參考編碼方式數(shù)組中,且優(yōu)先級別最高的備選編碼方式作為待編碼網(wǎng)頁的編碼方式。較佳地,處理模塊41還用于在參考編碼方式數(shù)組中不包括備選編碼方式數(shù)組中任一備選編碼方式時,確定參考編碼方式數(shù)組中優(yōu)先級別最高的參考編碼方式為待編碼網(wǎng)頁的編碼方式。較佳地,如圖4B所示,本發(fā)明實施例的設備還包括第一更新模塊42,用于將選擇的備選編碼方式對應的計數(shù)器增加一個預設的增量;在優(yōu)先級低的備選編碼方式對應的計數(shù)器中的數(shù)值大于優(yōu)先級高的備選編碼方式對應的計數(shù)器中的數(shù)值時,更新該備選編碼方式數(shù)組中備選編碼方式的優(yōu)先級。較佳地,如圖4B所示,本發(fā)明實施例的設備還包括第二更新模塊43,用于將選擇的參考編碼方式數(shù)組中優(yōu)先級最高的參考編碼方式作為該備選編碼方式數(shù)組中新的備選編碼方式,并設置該新的備選編碼方式的優(yōu)先級最低。本發(fā)明實施例根據(jù)確定的參考編碼方式數(shù)組中的參考編碼方式與本地預先設定的備選編碼方式數(shù)組中的備選編碼方式,確定待編碼網(wǎng)頁的編碼方式,由于不完全依賴于待編碼網(wǎng)頁的聲明編碼方式及優(yōu)先級別最高的參考編碼方式,在聲明編碼方式與待編碼網(wǎng)頁的實際編碼方式不一致,或在參考編碼方式數(shù)組中的優(yōu)先級最高的參考編碼方式與待編碼網(wǎng)頁的實際編碼方式不一致時,確定的待編碼網(wǎng)頁的編碼方式更準確,從而有效降低了編碼處理后的網(wǎng)頁頁面發(fā)生亂碼現(xiàn)象的概率。本領域內的技術人員應明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產品的形式。本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設備(系統(tǒng))、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設備的處理器執(zhí)行的指令產生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導計算機或其他可編程數(shù)據(jù)處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設備上,使得在計算機或其他可編程設備上執(zhí)行一系列操作步驟以產生計算機實現(xiàn)的處理,從而在計算機或其他可編程設備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。盡管已描述了本發(fā)明的優(yōu)選實施例,但本領域內的技術人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明范圍的所有變更和修改。顯然,本領域的技術人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權利要求及其等同技術的范圍之內,則本發(fā)明也意圖包含這些改動和變型在內。
權利要求
1.一種確定網(wǎng)頁編碼方式的方法,其特征在于,所述方法包括確定待編碼網(wǎng)頁的參考編碼方式數(shù)組,所述參考編碼方式數(shù)組中包括至少一種參考編碼方式;根據(jù)所述參考編碼方式數(shù)組及本地預設的包括至少一種備選編碼方式的備選編碼方式數(shù)組,確定出包含在所述參考編碼方式數(shù)組和所述備選編碼方式數(shù)組中的一種編碼方式作為所述待編碼網(wǎng)頁的編碼方式。
2.如權利要求1所述的方法,其特征在于,所述備選編碼方式數(shù)組中包括一種備選編碼方式;確定所述待編碼網(wǎng)頁的編碼方式包括若所述參考編碼方式數(shù)組中包括該備選編碼方式,則確定該備選編碼方式為所述待編碼網(wǎng)頁的編碼方式。
3.如權利要求1所述的方法,其特征在于,所述備選編碼方式數(shù)組中包括多種備選編碼方式;確定所述待編碼網(wǎng)頁的編碼方式包括從所述備選編碼方式數(shù)組中選擇包含在所述參考編碼方式數(shù)組中,且優(yōu)先級別最高的備選編碼方式作為所述待編碼網(wǎng)頁的編碼方式。
4.如權利要求1所述的方法,其特征在于,確定待編碼網(wǎng)頁的參考編碼方式數(shù)組之后, 還包括在所述參考編碼方式數(shù)組中不包括所述備選編碼方式數(shù)組中任一備選編碼方式時,確定所述參考編碼方式數(shù)組中優(yōu)先級最高的參考編碼方式為所述待編碼網(wǎng)頁的編碼方式。
5.如權利要求1 3任一所述的方法,其特征在于,所述方法還包括將選擇的備選編碼方式對應的計數(shù)器增加一個預設的增量;在優(yōu)先級低的備選編碼方式對應的計數(shù)器中的數(shù)值大于優(yōu)先級高的備選編碼方式對應的計數(shù)器中的數(shù)值時,更新所述備選編碼方式數(shù)組中備選編碼方式的優(yōu)先級。
6.如權利要求1或4所述的方法,其特征在于,所述方法還包括將選擇的參考編碼方式數(shù)組中優(yōu)先級最高的參考編碼方式作為所述備選編碼方式數(shù)組中新的備選編碼方式,并設置所述新的備選編碼方式的優(yōu)先級最低。
7.如權利要求1 4任一所述的方法,其特征在于,根據(jù)下列步驟確定所述參考編碼方式數(shù)組獲取所述待編碼網(wǎng)頁的每個框架frame中的部分網(wǎng)頁數(shù)據(jù);根據(jù)獲取到的網(wǎng)頁數(shù)據(jù)確定該網(wǎng)頁數(shù)據(jù)對應的參考編碼方式數(shù)組。
8.一種確定網(wǎng)頁編碼方式的設備,其特征在于,所述設備包括確定模塊,用于確定待編碼網(wǎng)頁的參考編碼方式數(shù)組,所述參考編碼方式數(shù)組中包括至少一種參考編碼方式;處理模塊,用于根據(jù)所述參考編碼方式數(shù)組及本地預設的包括至少一種備選編碼方式的備選編碼方式數(shù)組,確定出包含在所述參考編碼方式數(shù)組和所述備選編碼方式數(shù)組中的一種編碼方式作為所述待編碼網(wǎng)頁的編碼方式。
9.如權利要求8所述的設備,其特征在于,所述處理模塊具體用于所述備選編碼方式數(shù)組中包括一種備選編碼方式,若所述參考編碼方式數(shù)組中包括該備選編碼方式,則確定該備選編碼方式為所述待編碼網(wǎng)頁的編碼方式。
10.如權利要求8所述的設備,其特征在于,所述處理模塊具體用于所述備選編碼方式數(shù)組中包括多種備選編碼方式,從所述備選編碼方式數(shù)組中選擇在所述參考編碼方式數(shù)組中,且優(yōu)先級別最高的備選編碼方式作為所述待編碼網(wǎng)頁的編碼方式。
11.如權利要求8所述的設備,其特征在于,所述處理模塊還用于在所述參考編碼方式數(shù)組中不包括所述備選編碼方式數(shù)組中任一備選編碼方式時,確定所述參考編碼方式數(shù)組中優(yōu)先級最高的參考編碼方式為所述待編碼網(wǎng)頁的編碼方式。
12.如權利要求8 10任一所述的設備,其特征在于,所述設備還包括第一更新模塊,用于將選擇的備選編碼方式對應的計數(shù)器增加一個預設的增量;在優(yōu)先級低的備選編碼方式對應的計數(shù)器中的數(shù)值大于優(yōu)先級高的備選編碼方式對應的計數(shù)器中的數(shù)值時,更新所述備選編碼方式數(shù)組中備選編碼方式的優(yōu)先級。
13.如權利要求8或11所述的設備,其特征在于,所述設備還包括第二更新模塊,用于將選擇的參考編碼方式數(shù)組中優(yōu)先級最高的參考編碼方式作為所述備選編碼方式數(shù)組中新的備選編碼方式,并設置所述新的備選編碼方式的優(yōu)先級最低。
全文摘要
本發(fā)明實施例涉及網(wǎng)絡技術領域,特別涉及一種確定網(wǎng)頁編碼方式的方法及設備,用于解決現(xiàn)有技術中的確定網(wǎng)頁編碼方式的方法的正確率低,從而使網(wǎng)頁進行編碼處理后容易出現(xiàn)亂碼現(xiàn)象的問題。本發(fā)明實施例的一種確定網(wǎng)頁編碼方式的方法包括確定待編碼網(wǎng)頁的參考編碼方式數(shù)組;根據(jù)參考編碼方式數(shù)組及本地預設的備選編碼方式數(shù)組,確定出包含在該參考編碼方式數(shù)組和該備選編碼方式數(shù)組中的一種編碼方式作為待編碼網(wǎng)頁的編碼方式。由于本發(fā)明實施例不完全依賴于待編碼網(wǎng)頁的聲明編碼方式及參考編碼方式,使確定的待編碼網(wǎng)頁的編碼方式更準確,從而有效降低了編碼處理后的網(wǎng)頁頁面發(fā)生亂碼現(xiàn)象的概率。
文檔編號G06F17/30GK102360392SQ201110326140
公開日2012年2月22日 申請日期2011年10月24日 優(yōu)先權日2011年10月24日
發(fā)明者朱宏浩 申請人:青島海信移動通信技術股份有限公司