淺談JavaScript字符集
JavaScript是區(qū)分大小寫(xiě)的:
關(guān)鍵字、變量、函數(shù)名、和所有的標(biāo)識(shí)符都必須采用一致的大小寫(xiě)(一般我們都是寫(xiě)成小寫(xiě)的),這樣和當(dāng)初學(xué)C#的多樣式寫(xiě)法有很大的區(qū)別。
比如:(這里以變量str和Str為例)
var str='abc';
var Str='ABC';
alert(str);//輸出abc
假如str與Str為同一變量,那么alert(str);,輸出的結(jié)果應(yīng)為為ABC而不是如上圖所示abc。這恰恰說(shuō)明:JavaScript是區(qū)分大小寫(xiě)的。
Unicode轉(zhuǎn)義序列
Unicode字符集的出現(xiàn)是為了彌補(bǔ)ASCII碼只能表示128個(gè)字符的限制,而日常中我們想顯示漢字和日文的話,顯然ASCII是不可能的了。所以說(shuō)Unicode是ASCII和Latin-1的超集。首先,JavaScript程序都是用Unicode字符集編寫(xiě)而成的,但在一些計(jì)算機(jī)硬件和軟件里根本無(wú)法完整地顯示或者輸入U(xiǎn)nicode字符全集(比如:é),為了解決這一現(xiàn)象JavaScript定義了一種特殊序列,這種序列使用6個(gè)ASCII字符來(lái)代表任意16位Unicode內(nèi)碼,這種特殊序列統(tǒng)稱為Unicode轉(zhuǎn)義序列,它均以\u為前綴,其后跟隨4個(gè)十六進(jìn)制數(shù)
比如:
var str='caf\u00e9';
var Str='café';
alert(Str+' '+str);// 可以看出顯示都是一樣的效果。
alert (Str===str);//輸出true
但我們應(yīng)該注意一點(diǎn),Unicode是允許多種方法對(duì)同一字符進(jìn)行編碼的,用上述的é轉(zhuǎn)義的例子來(lái)說(shuō)明:
é:
1.可以使用Unicode字符\u00E9表示
2.亦可用e\u0301(語(yǔ)調(diào)字符)表示
var str='caf\u00e9';
var Str='cafe\u0301';
alert(str+' '+Str); //如下圖所示,Str和str所輸出的結(jié)果都是一樣的
alert(Str===str); //結(jié)果是一樣的,可它們的二進(jìn)制編碼表示根本不一樣,所以輸出false
雖然顯示在文本編輯器上的結(jié)果是一樣的,可是它們的二進(jìn)制編碼表示根本不一樣,而編程語(yǔ)言最終都會(huì)轉(zhuǎn)化為本地平臺(tái)的計(jì)算機(jī)機(jī)械碼(二進(jìn)制編碼),計(jì)算機(jī)只能通過(guò)對(duì)二進(jìn)制編碼的比較才能得知結(jié)果,所以它們比較最終的結(jié)果只能是false
所以這正是 “Unicode是允許多種方法對(duì)同一字符進(jìn)行編碼的”最好的解釋,因?yàn)閁nicode標(biāo)準(zhǔn)為所有字符定義了一個(gè)首選的編碼格式以便于將文本轉(zhuǎn)化成統(tǒng)一格式的Unicode轉(zhuǎn)義序列以合適比較
再次以é為例:
比較facé與café中的é是否相同?
facé與café中的é都轉(zhuǎn)化為\u00E9或者都轉(zhuǎn)化為e\u0301,才能比較facé與café中的é
相關(guān)文章
javascript學(xué)習(xí)筆記(七)Ajax和Http狀態(tài)碼
這篇文章主要介紹了javascript中Ajax和Http狀態(tài)碼,非常的簡(jiǎn)單實(shí)用,有需要的朋友可以參考下2014-10-10JavaScript indexOf方法入門(mén)實(shí)例(計(jì)算指定字符在字符串中首次出現(xiàn)的位置)
這篇文章主要介紹了JavaScript indexOf方法入門(mén)實(shí)例,indexOf方法用于計(jì)算指定字符在字符串中首次出現(xiàn)的位置,需要的朋友可以參考下2014-10-10JavaScrip關(guān)于創(chuàng)建常量的知識(shí)點(diǎn)
這篇文章主要介紹了JavaScrip創(chuàng)建常量的相關(guān)知識(shí)點(diǎn),幫助大家對(duì)JS更加深入的學(xué)習(xí),參考下吧。2017-12-12jQuery中文入門(mén)指南,翻譯加實(shí)例,jQuery的起點(diǎn)教程
jQuery中文入門(mén)指南,翻譯加實(shí)例,jQuery的起點(diǎn)教程...2007-01-01JavaScript字符串對(duì)象toLowerCase方法入門(mén)實(shí)例(用于把字母轉(zhuǎn)換為小寫(xiě))
這篇文章主要介紹了JavaScript字符串對(duì)象toLowerCase方法入門(mén)實(shí)例,toLowerCase方法用于把字母字符串轉(zhuǎn)換為小寫(xiě)形式,需要的朋友可以參考下2014-10-10利用javascript數(shù)組長(zhǎng)度循環(huán)數(shù)組內(nèi)所有元素
javascript循環(huán)數(shù)組內(nèi)所有元素代碼學(xué)習(xí),大家參考使用吧2013-12-12JavaScript字符串處理(String對(duì)象)詳解
這篇文章主要介紹了JavaScript字符串處理(String對(duì)象)詳解,本文列出并詳細(xì)講解了String對(duì)象的一些方法,需要的朋友可以參考下2014-10-10