最早的計算機只能使用ASCII字符,但隨著計算機應用範圍的擴展,許多國家都設計了用於計算機的特殊字符集,使自己國家和民族的字母及文字都能在計算機上顯示和處理,例如中國的GB2312碼。後來出現了互聯網,把整個世界都連了進來,在一台電腦甚至一個介面上顯示多國多民族文字變成現實的需要。國際組織制定了可以容納世界上所有文字和符號的字元編碼方案,稱為Unicode,是通用字元集Universal Character Set的縮寫,用以滿足跨語言、跨平台進行文字轉換、處理的要求,自從1994年發布,不斷進行擴展,目前已經到了Version 10。
可以進入網址https://www.unicode.org/查詢詳細信息,包括下載最新版本的碼表。
在設計網頁時,就可以使用Unicode字元集,使用時根據是在HTML、CSS中,還是在JavaScript中,而有不同的方法。
其中dddd表示4位10進位數值,hhhh表示4位16進位數值,兩種格式分別以&#及&#x為前綴,表示為10進位碼或16進位的Unicode碼,都需要以分號為後綴。目前,使用4位元16進位碼的Unicode字元獲得比較好的支持,大多數都可以在網頁中正常顯示,但其他更多的Unicode字元往往還不能顯示出來,這是因為使用的電腦平台還沒有安裝相關的Unicode支援。範例:
<p>顯示Unicode字元--∰</p>
其中顯示了一個數學符號,Unicode碼為2230,可以使用「∰」或「∰」來輸出這個特殊字符,然後就可以在頁面中顯示出來了。
CSS中使用Unicode字元的場合比較少,但偶爾也會用到,一般是使用4位16進位Unicode碼表示,前綴為反斜符。
JavaScript程式碼中常會用到輸出特殊字符,如在某個元素中輸出溫度或角度符,使用希臘字母、羅馬數字等,只需要在4位Unicode的16進位碼前面加上前綴“u”即可。範例:
document.body.innerHTML="u25D0";
其中使用了Unicode碼25D0,在幾何圖形表中,是一個圓形圖案,一般填滿白色一半填滿黑色,像半個月亮。
當然,中國人最常見的使用Unicode碼的場合是用漢字。為了顯示更多的漢字,漢字庫先從GB2312擴展到GBK,目前又擴展到GB18030。最新版本的GB18030已經收入7萬多個漢字,還包括各種少數民族文字,還有一些特殊字符,這個標準與Unicode碼方式是一致的。當然,有些計算機未必安裝了完整的新版本的支援軟體,所以往往只能顯示一部分字元。
為了取得一個漢字的Unicode碼,可以使用JavaScript函數charCodeAt(),例如:
var ucode="趙".charCodeAt();
這樣就把漢字「趙」的Unicode程式碼存入變數ucode中,可以取得得到Unicode碼為36213,這是一個十進位的Unicode碼。可以使用toString(16)方法把這個10進位碼轉為16進位碼:
var ucode="趙".charCodeAt().toString(16);
這樣取得的就是漢字「趙」的16進位形式的Unicode碼,得到的值為8d75。
一般情況輸出漢字,可以將包含漢字的字串直接顯示。也可以使用漢字的Unicode碼輸出對應的漢字或其他字元:
String.fromCharCode(36213);
這樣就將十進位Unicode碼為36213的字元轉換為字串,然後將此字串輸出就會顯示漢字「趙」。因為漢字可以使用輸入法直接得到字串,所以這種方法往往用來輸出一些特殊字元。
這是unicode編碼,編碼過程這樣:
例如要把「楊」編碼,我們可以新建一個記事本,輸入「楊」儲存時選擇存為unicode編碼,然後查看檔案二進位內容,前面的FF FE兩個位元組是unicode編碼檔案頭標誌,接著的68 67兩個位元組就是“楊”的unicode編碼,用計算機換算為十進位就是26472,現在可以在一個html檔裡面寫入“楊”,IE打開就顯示一個“楊”字。
當然,對於一般ASCII碼,unicode編碼與ASCII編碼一致,所以A可以顯示一個大寫字母「A」.
把&#編碼轉換成字符
function uncode(str) { return str.replace(/&#(x)?([^&]{1,5});?/g, function (a, b, c) { return String.fromCharCode(parseInt(c, b ? 16 : 10)); }); }
把字符轉換成&#編碼
function encode(str) { var a = [], i = 0; for (; i < str.length ;) a[i] = str.charCodeAt(i ++); return "&#" + a.join(";&#") + ";"; }
到此這篇關於網頁中使用Unicode字符的介紹(&#,u等)的文章就介紹到這了,更多相關Unicode內容請搜索downcodes.com以前的文章或繼續瀏覽下面的相關文章,希望大家以後多多支持downcodes.com!