欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談JavaScript字符集

 更新時間:2014年05月22日 11:09:05   作者:  
這篇文章主要介紹了JavaScript字符集,需要的朋友可以參考下

JavaScript是區(qū)分大小寫的:

關(guān)鍵字、變量、函數(shù)名、和所有的標(biāo)識符都必須采用一致的大小寫(一般我們都是寫成小寫的),這樣和當(dāng)初學(xué)C#的多樣式寫法有很大的區(qū)別。

比如:(這里以變量str和Str為例)

復(fù)制代碼 代碼如下:

var str='abc';
var Str='ABC';
alert(str);//輸出abc

假如str與Str為同一變量,那么alert(str);,輸出的結(jié)果應(yīng)為為ABC而不是如上圖所示abc。這恰恰說明:JavaScript是區(qū)分大小寫的。

Unicode轉(zhuǎn)義序列

Unicode字符集的出現(xiàn)是為了彌補(bǔ)ASCII碼只能表示128個字符的限制,而日常中我們想顯示漢字和日文的話,顯然ASCII是不可能的了。所以說Unicode是ASCII和Latin-1的超集。首先,JavaScript程序都是用Unicode字符集編寫而成的,但在一些計算機(jī)硬件和軟件里根本無法完整地顯示或者輸入Unicode字符全集(比如:é),為了解決這一現(xiàn)象JavaScript定義了一種特殊序列,這種序列使用6個ASCII字符來代表任意16位Unicode內(nèi)碼,這種特殊序列統(tǒng)稱為Unicode轉(zhuǎn)義序列,它均以\u為前綴,其后跟隨4個十六進(jìn)制數(shù)

比如:

復(fù)制代碼 代碼如下:

var str='caf\u00e9';
var Str='café';
alert(Str+' '+str);// 可以看出顯示都是一樣的效果。
alert (Str===str);//輸出true

但我們應(yīng)該注意一點,Unicode是允許多種方法對同一字符進(jìn)行編碼的,用上述的é轉(zhuǎn)義的例子來說明:

é:

1.可以使用Unicode字符\u00E9表示

2.亦可用e\u0301(語調(diào)字符)表示

復(fù)制代碼 代碼如下:

var str='caf\u00e9';
var Str='cafe\u0301';
alert(str+' '+Str); //如下圖所示,Str和str所輸出的結(jié)果都是一樣的
alert(Str===str); //結(jié)果是一樣的,可它們的二進(jìn)制編碼表示根本不一樣,所以輸出false

雖然顯示在文本編輯器上的結(jié)果是一樣的,可是它們的二進(jìn)制編碼表示根本不一樣,而編程語言最終都會轉(zhuǎn)化為本地平臺的計算機(jī)機(jī)械碼(二進(jìn)制編碼),計算機(jī)只能通過對二進(jìn)制編碼的比較才能得知結(jié)果,所以它們比較最終的結(jié)果只能是false

所以這正是 “Unicode是允許多種方法對同一字符進(jìn)行編碼的”最好的解釋,因為Unicode標(biāo)準(zhǔn)為所有字符定義了一個首選的編碼格式以便于將文本轉(zhuǎn)化成統(tǒng)一格式的Unicode轉(zhuǎn)義序列以合適比較

再次以é為例:

比較facé與café中的é是否相同?

facé與café中的é都轉(zhuǎn)化為\u00E9或者都轉(zhuǎn)化為e\u0301,才能比較facé與café中的é

相關(guān)文章

最新評論