資源描述:
《常用字符集編碼概要》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、附錄B常用字符集編碼概要l常用字符集編碼概要特性nASCIIASCII碼是7位編碼,編碼范圍是0x00-0x7F。ASCII字符集包括英文字母、阿拉伯?dāng)?shù)字和標(biāo)點(diǎn)符號(hào)等字符。其中0x00-0x20和0x7F共33個(gè)控制字符。只支持ASCII碼的系統(tǒng)會(huì)忽略每個(gè)字節(jié)的最高位,只認(rèn)為低7位是有效位。HZ字符編碼就是早期為了在只支持7位ASCII系統(tǒng)中傳輸中文而設(shè)計(jì)的編碼。早期很多郵件系統(tǒng)也只支持ASCII編碼,為了傳輸中文郵件必須使用BASE64或者其他編碼方式。nISO-8859-1ISO-8859-1編碼是單字節(jié)編碼,向下兼容ASCII,其編碼范圍是0x00-0xFF,0x00-0
2、x7F之間完全和ASCII一致,0x80-0x9F之間是控制字符,0xA0-0xFF之間是文字符號(hào)。ISO-8859-1收錄的字符除ASCII收錄的字符外,還包括西歐語(yǔ)言、希臘語(yǔ)、泰語(yǔ)、阿拉伯語(yǔ)、希伯來(lái)語(yǔ)對(duì)應(yīng)的文字符號(hào)。歐元符號(hào)出現(xiàn)的比較晚,沒(méi)有被收錄在ISO-8859-1當(dāng)中。因?yàn)镮SO-8859-1編碼范圍使用了單字節(jié)內(nèi)的所有空間,在支持ISO-8859-1的系統(tǒng)中傳輸和存儲(chǔ)其他任何編碼的字節(jié)流都不會(huì)被拋棄。換言之,把其他任何編碼的字節(jié)流當(dāng)作ISO-8859-1編碼看待都沒(méi)有問(wèn)題。這是個(gè)很重要的特性。ASCII編碼是一個(gè)7位的容器,ISO-8859-1編碼是一個(gè)8位的容器。
3、Latin1是ISO-8859-1的別名,有些環(huán)境下寫作Latin-1。nGB2312-80GB2312是基于區(qū)位碼設(shè)計(jì)的,區(qū)位碼把編碼表分為94個(gè)區(qū),每個(gè)區(qū)對(duì)應(yīng)94個(gè)位,每個(gè)字符的區(qū)號(hào)和位號(hào)組合起來(lái)就是該漢字的區(qū)位碼。區(qū)位碼中01-09區(qū)是符號(hào)、數(shù)字區(qū),16-87區(qū)是漢字區(qū),10-15和88-94是未定義的空白區(qū)。GB2312字符集中除常用簡(jiǎn)體漢字字符外還包括希臘字母、日文平假名及片假名字母、俄語(yǔ)西里爾字母等字符,未收錄繁體中文漢字和一些生僻字。可以用繁體漢字測(cè)試某些系統(tǒng)是不是只支持GB2312編碼。GB2312-80(1980年)是國(guó)內(nèi)計(jì)算機(jī)漢字信息技術(shù)發(fā)展初始階段制定的,
4、其中包含了大部分常用的一、二級(jí)漢字,和9區(qū)的符號(hào)。一共收錄了7445個(gè)字符,包括6763個(gè)漢字和682個(gè)其它符號(hào)。該字符集是幾乎所有的中文系統(tǒng)和國(guó)際化的軟件都支持的中文字符集,這也是最基本的中文字符集。其編碼范圍是高位0xa1-0xfe,低位也是0xa1-0xfe;漢字從0xb0a1開始,結(jié)束于0xf7fe。nGBKGBK編碼是GB2312編碼的超集,向下完全兼容GB2312,同時(shí)GBK收錄了Unicode基本多文種平面中的所有CJK漢字。同GB2312一樣,GBK也支持希臘字母、日文假名字母、俄語(yǔ)字母等字符,但不支持韓語(yǔ)中的表音字符(非漢字字符)。GBK還收錄了GB2312不
5、包含的漢字部首符號(hào)、豎排標(biāo)點(diǎn)符號(hào)等字符。GBK的整體編碼范圍是為0x8140-0xFEFE,不包括低字節(jié)是0×7F的組合。高字節(jié)范圍是0×81-0xFE,低字節(jié)范圍是0x40-7E和0x80-0xFE。GBK所有字符都可以一對(duì)一映射到Unicode2.0,也就是說(shuō)JAVA實(shí)際上提供了GBK字符集的支持。這是現(xiàn)階段Windows和其它一些中文操作系統(tǒng)的缺省字符集,但并不是所有的國(guó)際化軟件都支持該字符集。中文Windows默認(rèn)采用的是GBK編碼顯示,每個(gè)漢字對(duì)應(yīng)兩個(gè)字節(jié),區(qū)分中文編碼的方法是高字節(jié)的最高位不為0(符號(hào)位,1負(fù)數(shù);0正數(shù))。nGB18030-2000(GBK2K)(2
6、000年)在GBK的基礎(chǔ)上進(jìn)一步擴(kuò)展了漢字,增加了藏、蒙等少數(shù)民族的字形。該標(biāo)準(zhǔn)收錄了27484個(gè)漢字,GBK2K從根本上解決了字位不夠,字形不足的問(wèn)題。GBK和GB2312是單字節(jié)和雙字節(jié)混合的變長(zhǎng)編碼,英文1位,中文2位。GB18030編碼是變長(zhǎng)編碼,有單字節(jié)、雙字節(jié)和四字節(jié)三種方式nUCSUNICODE編碼(UniversalMultiple-OctetCodedCharacterSet",簡(jiǎn)稱為UCS),兼容英文字符和其它民族的字符編碼,所以,目前,大多數(shù)國(guó)際性的軟件內(nèi)部均采用UNICODE編碼,在軟件運(yùn)行時(shí),它獲得本地支持系統(tǒng)(多數(shù)時(shí)間是操作系統(tǒng))默認(rèn)支持的編碼格式,
7、然后再將軟件內(nèi)部的UNICODE轉(zhuǎn)化為本地系統(tǒng)默認(rèn)支持的格式顯示出來(lái)。UCS-2、UTF-16是UCS字符集(或者說(shuō)是Unicode字符集)實(shí)際應(yīng)用中的具體編碼方式。nUTF-8,UTF-16,UTF-32Unicode的最初目標(biāo),是用1個(gè)16位的編碼來(lái)為超過(guò)65000字符提供映射。但這還不夠,它不能覆蓋全部歷史上的文字,也不能解決傳輸?shù)膯?wèn)題,尤其在那些基于網(wǎng)絡(luò)的應(yīng)用中。因此,Unicode用一些基本的保留字符制定了三套編碼方式。它們分別是UTF-8,UTF-16和UTF-32。UTF-8是