Java字符集和編碼_第1頁
Java字符集和編碼_第2頁
Java字符集和編碼_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、Java字符集和編碼為什么要講字符集?1 Java采用Unicode編碼,char型變量是16位的Unicode編碼;2 加深對java.io包里面的字節(jié)流/字符流的理解;3 理解和解決Java編程中的亂碼問題。UnicodeUTF8GB 23120127 ASCII128255 ASCIIGBKBIG5單字節(jié)字符集(OBCS)變字節(jié)字符集(DBCS)雙字節(jié)字符集(DBCS)一 ASCII編碼是由美國國家標(biāo)準(zhǔn)局(ANSI)制定的ASCII碼(American Standard Code for Information Interchange,美國標(biāo)準(zhǔn)信息交換碼),它已被國際標(biāo)準(zhǔn)化組織(ISO)

2、定為國際標(biāo)準(zhǔn),稱為ISO 646標(biāo)準(zhǔn)。適用于所有拉丁文字字母,ASCII碼有7位碼和8位碼兩種形式。17位ASCII碼第032號及第127號(共34個)是控制字符或通訊專用字符,如控制符:LF(換行)、CR(回車)、FF(換頁)、DEL(刪除)、BEL(振鈴)等;通訊專用字符:SOH(文頭)、EOT(文尾)、ACK(確認(rèn))等; 第33126號(共94個)是字符,其中第4857號為09十個阿拉伯?dāng)?shù)字;6590號為26個大寫英文字母,97122號為26個小寫英文字母,其余為一些標(biāo)點符號、運(yùn)算符號等。28位ASCII碼但是,很多國家用的不是英文,他們的字母里有許多是ASCII里沒有的,為了可以在計算

3、機(jī)保存他們的文字,他們決定采用127號之后的空位來表示這些新的字母、符號,還加入了很多畫表格時需要用下到的橫線、豎線、交叉等形狀,一直把序號編到了最后一個狀態(tài)255。從128到255這一頁的字符集被稱"擴(kuò)展ASCII(8位ASCII碼)"。二 雙字節(jié)字符集(Double Byte Charecter Set, DBCS) GB2312GBK在DBCS系列標(biāo)準(zhǔn)里,最大的特點是兩字節(jié)長的漢字字符和一字節(jié)長的英文字符并存于同一套編碼方案里,因此他們寫的程序為了支持中文處理,必須要注意字串里的每一個字節(jié)的值,如果這個值是大于127的,那么就認(rèn)為一個雙字節(jié)字符集里的字符出現(xiàn)了。1 G

4、B2312(Windows3.2和蘋果OS)全稱是GB2312-80信息交換用漢字編碼字符集 基本集,1980年發(fā)布,是中文信息處理的國家標(biāo)準(zhǔn),可支持6000多個漢字,在大陸及海外使用簡體中文的地區(qū)(如新加坡等)。Windows3.2和蘋果OS就是 以GB2312為基本漢字編碼, Windows 95/98則以GBK為基本漢字編碼、但兼容支持GB2312。 GB2312規(guī)定:(1) 一個小于127的字符的意義與ASCII碼相同;(2) 兩個大于127的字符連在一起時,就表示一個漢字,前面的一個字節(jié)(他稱之為高字節(jié))從0xA1用到0xF7,后面一個字節(jié)(低字節(jié))從0xA1到0xFE,這樣我們就可

5、以組合出大約7000多個簡體漢字了。2 GBK(Windows2000、WindowsXP)GBK是GB2312-80的擴(kuò)展,是向上兼容的。它包含了20902個漢字,其編碼范圍:(1) 高字節(jié)0127表示一個與ASCII碼兼容的字符;(2) 高字節(jié)>127表示是一個漢字的第一個字節(jié),后面的低字節(jié)不再有必須大于127的限制了。(3) “一個漢字需要兩個字節(jié)存儲”3 DBCS的缺點(1) 各地的字符集不兼容(GBK、BIG5)(2) 在讀寫文件時需要判斷每個字節(jié)的值是否大于127,以便判斷是否時一個漢字三 Unicode為了解決DBCS的上述缺點,國際標(biāo)誰化組織指定了一種新的全球統(tǒng)一的編碼方式Unicode。(1) 任何字符都使用2個字節(jié)18位來編碼21665536;(2) 低8位與ASCII碼兼容;(3) 除此之外,沒有考慮與其他DBCS的兼容,他們之間的轉(zhuǎn)換只能依靠查表實現(xiàn);四 UTF8UTF-8 : Unicode Transformation Format-8,主要用來在網(wǎng)絡(luò)中快速傳輸U(kuò)nicode字符?;驹恚禾峁┮粋€模板,將不同的Unicode字符映射成不同長度的編碼:(1) 在發(fā)送端,首先確定需要多少個8bits(octets)(2) 并按照模板將Unicode字符重新編碼,進(jìn)行網(wǎng)絡(luò)傳輸

溫馨提示

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

評論

0/150

提交評論