基于Java字符編碼的使用詳解
1,什么是字符編碼?
字符(Character)是文字與符號的總稱,包括文字、圖形符號、數(shù)學(xué)符號等。一組抽象字符的集合就是字符集(Charset)。字符集的出現(xiàn)是為了信息進(jìn)行傳播儲存提供方便。目前常用到字符集有:ASCII,ISO 8859-1,Unicode,GB2312
2,各種編碼集有哪些特點(diǎn)?
ASCII:
ASCII(American Standard Code for Information Interchange,美國信息交換標(biāo)準(zhǔn)代碼)是基于拉丁字母的一套電腦編碼系統(tǒng)。
包含內(nèi)容:控制字符(回車,退格,換行鍵),可顯示式字符(英文大小寫,阿拉伯?dāng)?shù)字和西文符號)。
技術(shù)特征:7位(bits)表示一個字符,共128字符
不足之處:只能表示英語,想西歐,東亞和拉美地區(qū)的語言符號無法表示。
ISO 8859-1:
ISO 8859-1,正式編號為ISO/IEC 8859-1:1998,又稱Latin-1或“西歐語言”,是國際標(biāo)準(zhǔn)化組織內(nèi)ISO/IEC 8859的第一個8位字符集。
它以ASCII為基礎(chǔ),在空置的0xA0-0xFF的范圍內(nèi),加入96個字母及符號,藉以供使用附加符號的拉丁字母語言使用。曾推出過 ISO 8859-1:1987 版。
包含內(nèi)容:ASCII編碼包含的,部分西歐使用的語言。
技術(shù)特征:8位表示一個字符。
Unicode:
Unicode字符集編碼是Universal Multiple-Octet Coded Character Set 通用多八位編碼字符集的簡稱,是由一個名為 Unicode 學(xué)術(shù)學(xué)會(Unicode Consortium)的機(jī)構(gòu)制訂的字符編碼系統(tǒng),支持現(xiàn)今世界各種不同語言的書面文本的交換、處理及顯示。該編碼于1990年開始研發(fā),1994年正式公布,最新版本是2005年3月31日的Unicode 4.1.0。
技術(shù)特征:16位編碼,每個字符占用2個字節(jié)。一個字符的Unicode編碼是確定的。但是在實(shí)際傳輸過程中,由于不同系統(tǒng)平臺的設(shè)計不一定一致,以及出于節(jié)省空間的目的,對Unicode編碼的實(shí)現(xiàn)方式有所不同。Unicode的實(shí)現(xiàn)方式稱為Unicode轉(zhuǎn)換格式(Unicode Transformation Format,簡稱為UTF)。如果一個7位的ASCII字符的Unicode文件,在傳輸過程中如果使用2個字節(jié)的原Unicode編碼傳輸會造成比較大的浪費(fèi)。對于這種情況,可以使用UTF-8編碼,這是一種變長編碼,它將基本7位ASCII字符仍用7位編碼表示,占用一個字節(jié)(首位補(bǔ)0)。而遇到與其他Unicode字符混合的情況,將按一定算法轉(zhuǎn)換,每個字符使用1-3個字節(jié)編碼,并利用首位為0或1進(jìn)行識別。
GB2312:
GB 2312 或 GB 2312-80 是中國國家標(biāo)準(zhǔn)簡體中文字符集,全稱《信息交換用漢字編碼字符集·基本集》,又稱GB0,由中國國家標(biāo)準(zhǔn)總局發(fā)布,1981年5月1日實(shí)施。GB2312編碼通行于中國大陸;新加坡等地也采用此編碼。中國大陸幾乎所有的中文系統(tǒng)和國際化的軟件都支持GB 2312。
包含內(nèi)容:6763個漢字,其中一級漢字3755個,二級漢字3008個;同時收錄了包括拉丁字母、希臘字母、日文平假名及片假名字母、俄語西里爾字母在內(nèi)的682個字符。
技術(shù)特征:每個漢字及符號以兩個字節(jié)來表示。第一個字節(jié)稱為“高位字節(jié)”,第二個字節(jié)稱為“低位字節(jié)”?!案呶蛔止?jié)”使用了0xA1-0xF7,“低位字節(jié)”使用了0xA1-0xFE0xA0)。 由于一級漢字從16區(qū)起始,漢字區(qū)的“高位字節(jié)”的范圍是0xB0-0xF7,“低位字節(jié)”的范圍是0xA1-0xFE,占用的碼位是72*94=6768。其中有5個空位是D7FA-D7FE。
相關(guān)文章
Java的Comparable,Comparator和Cloneable三大接口詳解
這篇文章主要為大家詳細(xì)介紹了Java的Comparable,Comparator和Cloneable的接口,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03springboot項(xiàng)目配置多數(shù)據(jù)庫連接的示例詳解
這篇文章主要介紹了springboot項(xiàng)目配置多數(shù)據(jù)庫連接的示例,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-12-12如何將maven項(xiàng)目導(dǎo)出jar包(最簡單方法)
大家都知道對于將maven項(xiàng)目導(dǎo)出jar包有好幾種方式,本文給大家分享一種方式最容易且最方便,感興趣的朋友跟隨小編一起看看吧2023-11-11springboot項(xiàng)目中引入本地依賴jar包并打包到lib文件夾中
這篇文章主要介紹了springboot項(xiàng)目中引入本地依賴jar包,如何打包到lib文件夾中,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04