![]() utf-8的應(yīng)用UTF-8是UNICODE的一種變長字符編碼又稱萬國碼,由Ken Thompson于1992年創(chuàng)建?,F(xiàn)在已經(jīng)標(biāo)準(zhǔn)化為RFC 3629。UTF-8用1到6個字節(jié)編碼UNICODE字符。用在網(wǎng)頁上可以同一頁面顯示中文簡體繁體及其它語言(如日文,韓文)
UTF-8編碼可以通過屏蔽位和移位操作快速讀寫。字符串比較時strcmp()和wcscmp()的返回結(jié)果相同,因此使排序變得更加容易。字節(jié)FF和FE在UTF-8編碼中永遠(yuǎn)不會出現(xiàn),因此他們可以用來表明UTF-16或UTF-32文本(見BOM) UTF-8 是字節(jié)順序無關(guān)的。它的字節(jié)順序在所有系統(tǒng)中都是一樣的,因此它實際上并不需要BOM。
在所有字符集中,最知名的可能要數(shù)被稱為ASCII的7位字符集了。它是美國信息交換標(biāo)準(zhǔn)代碼(American Standard Code for Information Interchange)的縮寫, 為美國英語通信所設(shè)計。它由128個字符組成,包括大小寫字母、數(shù)字0-9、標(biāo)點符號、非打印字符(換行符、制表符等4個)以及控制字符(退格、響鈴等)組成。
但是,由于他是針對英語設(shè)計的,當(dāng)處理帶有音調(diào)標(biāo)號(形如漢語的拼音)的歐洲文字時就會出現(xiàn)問題。因此,創(chuàng)建出了一些包括255個字符的由ASCII擴(kuò)展的字符集。其中有一種通常被稱為IBM字符集,它把值為128-255之間的字符用于畫圖和畫線,以及一些特殊的歐洲字符。另一種8位字符集是ISO 8859-1 Latin 1,也簡稱為ISO Latin-1。它把位于128-255之間的字符用于拉丁字母表中特殊語言字符的編碼,也因此而得名。
ASCII碼格式
歐洲語言不是地球上的唯一語言,因此亞洲和非洲語言并不能被8位字符集所支持。僅漢語(或pictograms)字母表就有80000以上個字符。但是把漢語、日語和越南語的一些相似的字符結(jié)合起來,在不同的語言里,使不同的字符代表不同的字,這樣只用2個字節(jié)就可以編碼地球上幾乎所有地區(qū)的文字。因此,創(chuàng)建了UNICODE編碼。它通過增加一個高字節(jié)對ISO Latin-1字符集進(jìn)行擴(kuò)展,當(dāng)這些高字節(jié)位為0時,低字節(jié)就是ISO Latin-1字符。UNICODE支持歐洲、非洲、中東、亞洲(包括統(tǒng)一標(biāo)準(zhǔn)的東亞象形漢字和韓國象形文字)。但是,UNICODE并沒有提供對諸如Braille, Cherokee, Ethiopic, Khmer, Mongolian, Hmong, Tai Lu, Tai Mau文字的支持。同時它也不支持如Ahom, Akkadian, Aramaic, Babylonian Cuneiform, Balti, Brahmi, Etruscan, Hittite, Javanese, Numidian, Old Persian Cuneiform, Syrian之類的古老文字。
事實證明,對可以用ASCII表示的字符使用UNICODE并不高效,因為UNICODE比ASCII占用大一倍的空間,而對ASCII來說高字節(jié)的0對他毫無用處。為了解決這個問題,就出現(xiàn)了一些中間格式的字符集,他們被稱為通用轉(zhuǎn)換格式,即UTF(Universal Transformation Format)。目前存在的UTF格式有:UTF-7, UTF-7.5, UTF-8, UTF-16, 以及 UTF-32。本文討論UTF-8字符集的基礎(chǔ)。
|
想了解更多關(guān)于易勢網(wǎng)站建設(shè)的內(nèi)容嗎?
|
招賢納士 | 聯(lián)系易勢 | 遼ICP備07006743號
沈陽團(tuán)購網(wǎng) | 沈陽軟件公司 | 軟件定制 | 網(wǎng)站建設(shè) | 加盟易勢 | 提交問題
沈陽易勢:沈陽軟件開發(fā),沈陽OA,CRM,ERP
地 址:沈陽市和平區(qū)南三經(jīng)街20號嘉隆大廈A座805室