Java編程技術(shù)中漢字問(wèn)題的分析及解決_第1頁(yè)
Java編程技術(shù)中漢字問(wèn)題的分析及解決_第2頁(yè)
Java編程技術(shù)中漢字問(wèn)題的分析及解決_第3頁(yè)
Java編程技術(shù)中漢字問(wèn)題的分析及解決_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Java 編程技術(shù)中漢字問(wèn)題的分析及解決在基于 Java 語(yǔ)言的編程中,我們經(jīng)常碰到漢字的處理及顯示的問(wèn)題。一大堆看不懂的亂碼肯定不是我們?cè)敢饪吹降娘@示效果,怎樣才能夠讓那些漢字正確顯示呢? Java 語(yǔ)言默認(rèn)的編碼方式是UNICODE ,而我們中國(guó)人通常使用的文件和數(shù)據(jù)庫(kù)都是基于 GB2312或者 BIG5 等方式編碼的,怎樣才能夠恰當(dāng)?shù)剡x擇漢字編碼方式并正確地處理漢字的編碼呢?本文將從漢字編碼的常識(shí)入手,結(jié)合Java編程實(shí)例,分析以上兩個(gè)問(wèn)題并提出解決它們的方案。現(xiàn)在 Java 編程語(yǔ)言已經(jīng)廣泛應(yīng)用于互聯(lián)網(wǎng)世界, 早在 Sun公司開(kāi)發(fā) Java 語(yǔ)言的時(shí)候,就已經(jīng)考慮到對(duì)非英文字符的支持了

2、。Sun公司公布的Java運(yùn)行環(huán)境(JRE)本身就分英文版和國(guó)際版,但只有國(guó)際版才支持非英文字符。不過(guò)在Java 編程語(yǔ)言的應(yīng)用中,對(duì)中文字符的支持并非如同 Java Soft 的標(biāo)準(zhǔn)規(guī)范中所宣稱的那樣完美,因?yàn)橹形淖址恢灰粋€(gè),而且不同的操作系統(tǒng)對(duì)中文字符的支持也不盡相同,所以會(huì)有許多和漢字編碼處理有關(guān)的問(wèn)題在我們進(jìn)行應(yīng)用開(kāi)發(fā)中困擾著我們。有很多關(guān)于這些問(wèn)題的解答,但都比較瑣碎,并不能夠滿足大家迫切解決問(wèn)題的愿望,關(guān)于Java 中文問(wèn)題的系統(tǒng)研究并不多,本文從漢字編碼常識(shí)出發(fā),分析Java 中文問(wèn)題,希望對(duì)大家解決這個(gè)問(wèn)題有所幫助。漢字編碼的常識(shí)我們知道,英文字符一般是以一個(gè)字節(jié)來(lái)表示的,

3、最常用的編碼方法是ASCII 。但一個(gè)字節(jié)最多只能區(qū)分256 個(gè)字符,而漢字成千上萬(wàn),所以現(xiàn)在都以雙字節(jié)來(lái)表示漢字,為了能夠與英文字符分開(kāi),每個(gè)字節(jié)的位一定為 1 ,這樣雙字節(jié)最多可以表示64K 格字符。我們經(jīng)常碰到的編碼方式有GB2312 、 BIG5、 UNICODE 等。關(guān)于具體編碼方式的詳細(xì)資料,有興趣的讀者可以查閱相關(guān)資料。我膚淺談一下和我們關(guān)系密切的 GB2312 和 UNICODE 。 GB2312 碼,中華人民共和國(guó)國(guó)家標(biāo)準(zhǔn)漢字信息交換用編碼,是一個(gè)由中華人民共和國(guó)國(guó)家標(biāo)準(zhǔn)總局發(fā)布的關(guān)于簡(jiǎn)化漢字的編碼,通行于中國(guó)大陸地區(qū)及新加坡,簡(jiǎn)稱國(guó)標(biāo)碼。兩個(gè)字節(jié)中,第一個(gè)字節(jié)(高字節(jié))的值

4、為區(qū)號(hào)值加 32( 20H ) , 第二個(gè)字節(jié) (低字節(jié)) 的值為位號(hào)值加 32( 20H ) ,用這兩個(gè)值來(lái)表示一個(gè)漢字的編碼。 UNICODE 碼是微軟提出的解決多國(guó)字符問(wèn)題的多字節(jié)等長(zhǎng)編碼, 它對(duì)英文字符采取前面加 0 字節(jié)的策略實(shí)現(xiàn)等長(zhǎng)兼容。如 A 的 ASCII 碼為 0 x41 , UNICODE 就為0 x00 , 0 x41 。利用特殊的工具各種編碼之間可以互相轉(zhuǎn)換。Java 中文問(wèn)題的初步認(rèn)識(shí)我們基于 Java 編程語(yǔ)言進(jìn)行應(yīng)用開(kāi)發(fā)時(shí),不可避免地要處理中文。 Java 編程語(yǔ)言默認(rèn)的編碼方式是 UNICODE ,而我們通常使用的數(shù)據(jù)庫(kù)及文件都是基于 GB2312 編碼的,我們

5、經(jīng)常碰到這樣的情況:瀏覽基于 JSP 技術(shù)的網(wǎng)站看到的是亂碼,文件打開(kāi)后看到的也是亂碼,被Java 修改過(guò)的數(shù)據(jù)庫(kù)的內(nèi)容在別的場(chǎng)合應(yīng)用時(shí)無(wú)法繼續(xù)正確地提供信息。String sEnglish = apple;String sChinese = 蘋果 ;String s = 蘋果 apple ;sEnglish 的長(zhǎng)度是 5 , sChinese 的長(zhǎng)度是4 ,而s 默認(rèn)的長(zhǎng)度是 14 。 對(duì)于 sEnglish 來(lái)說(shuō), Java 中的各個(gè)類都支持得非常好,肯定能夠正確顯示。 但對(duì)于 sChinese 和 s 來(lái)說(shuō), 雖然 Java Soft 聲明 Java 的基本類已經(jīng)考慮到對(duì)多國(guó)字符的支持(

6、默認(rèn)UNICODE編碼) ,但是如果操作系統(tǒng)的默認(rèn)編碼不是UNICODE ,而是國(guó)標(biāo)碼等。 從 Java 源代碼到得到正確的結(jié)果, 要經(jīng)過(guò) Java 源代碼 - Java字節(jié)碼 - ; 虛擬機(jī) - 操作系統(tǒng) - 顯示設(shè)備 的過(guò)程。 在上述過(guò)程中的每一步驟,我們都必須正確地處理漢字的編碼,才能夠使最終的顯示結(jié) 果正確Word是學(xué)生和職場(chǎng)人士最常用的一款辦公軟件之一,99.99% 的人知道它,但其實(shí),這個(gè)軟件背后,還有一大批隱藏技能你不知道。掌握他們,你將開(kāi)啟新世界的大門。Tab+Enter,在編過(guò)號(hào)以后,會(huì)自動(dòng)編號(hào)段落Ctrl + D 調(diào)出字體欄,配合 Tab+Enter 全鍵盤操作吧Ctrl + L 左對(duì)齊, Ctrl + R 右對(duì)齊, Ctrl + E 居中Ctrl + F 查找,Ctrl + H 替換。然后關(guān)于替換,里面又大有學(xué)問(wèn)!有時(shí)候Word文檔中有許多多余的空行需要?jiǎng)h除,這個(gè)時(shí)候我們可以完全可以用查找替換”來(lái)輕松解決。打開(kāi) 編輯”菜單中的 替換”對(duì)話框,把光標(biāo)定位在 查找內(nèi)容”輸入框中,單擊 高級(jí)”按鈕,選擇 特 殊字符”中的 段落標(biāo)記”兩次,在輸入框中會(huì)顯示 PAP,然后在 替換為”輸入框中用上面的方法插入

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論