Unicode字符可以應用於所有已知的編碼。Unicode是繼ASCII(美國國家交互信息標準代碼)之後的壹種新的字符代碼。它為每個符號定義了壹個數字和名稱,指定了字符及其數值(代碼點),以及該值的二進制表示。它用壹個十六進制數和前綴(U)定義了壹個16位的數值,比如:U+00465438+。但是請註意,JavaScript 1.3之前的版本不支持Unicode編碼。
Unicode與ASCII和ISO的兼容性
Unicode與ASCII字符兼容,並且受大多數程序支持。前128 Unicode代碼與ASCII代碼具有相同的字節值。從U+0020到U+007E的Unicode字符相當於ASCII代碼的0x20到0x7E。與支持拉丁字母的7位ASCII不同,Unicode為每個字符設置16位的編碼值,這允許數萬個字符。例如,Unicode版包含38,885個字符。也可以延長。例如,UTF-16允許將16個字符組合成壹百萬個或更多的字符,而UTF將編碼轉換成真正的二進制位。
Unicode完全兼容國際標準ISO/IEC 10646-1;1993,是ISO 10646的子集,支持ISO UCS-2(通用字符集)的兩個八進制數。JavaScript 1.3對Unicode的支持意味著妳可以在妳的程序中隨意使用本地字符和特殊的科學符號。Unicode提供了壹種編碼多語言文本的標準方法,並且因為它與ASCII兼容,所以您也可以隨意使用ASCII字符。
Unicode轉義序列
您可以在字符文本中使用Unicode轉義序列,字符文本由六個ASCII字符組成:\u加上壹個帶有四個值的十六進制數字。例如:\u00A9表示版權符號。JavaScript中的每個Unicode轉義序列都由壹個字符解釋。下表顯示了常用的特殊字符及其Unicode值。
類別Unicode值名稱格式名稱
空白\ u0009制表符
\u000B垂直制表符
\ u000C分頁符
\u0020空間
行結束符值\u000A換行符
\u000D回車。
其他Unicode轉義序列值\u000b退格
\u0009水平制表符
\u0022雙引號"
\u0027單引號'
\u005C反斜杠/
JavaScript使用Unicode轉義序列與Java不同。首先,轉義序列在JavaScript中不會被解釋為特殊字符。例如,字符串中換行符的轉義序列在函數被解釋之前不會終止字符串,如果在註釋中使用,JavaScript會忽略它。在Java中,如果在單個註釋行中使用轉義序列,它將被解釋為Unicode字符。對於字符串文字,Java編譯器將首先解釋轉義序列。例如,如果在Java中使用換行符(\ u000A),它將終止字符串並在Java中導致錯誤,因為字符串文字中不允許換行符,所以必須使用\n符號;在JavaScript中,兩者沒有區別。
以Unicode顯示字符
您可以使用Unicode顯示不同語言的字符或專業符號,但這要求客戶端可以支持Unicode,如Netscape Navigator 4.x,並且客戶端還必須支持Unicode字體和操作平臺。例如,Windows 95只支持部分Unicode。此外,為了輸入非ASCII字符,您必須有壹個支持所有Unicode字符的輸入設備。標準的擴展鍵盤不能做到這壹點,但是我們可以使用Unicode轉義序列來輸入Unicode字符。如果您需要了解有關Unicode的更多信息,請參考Unicode Consortium網站2.0版。