JavaScript編碼相關

2021-06-21 05:39:49 字數 1388 閱讀 8304

『我』===『\u6211』。

a.    『我』.charcodeat(0).tostring(16)==『6211』

其中charcodeat() 方法可返回指定位置的字元的 unicode 編碼。這個返回值是 0 - 65535之間的整數。

b.    而ascii字元在0~255之間,故有:

『a』.charcodeat(0).tostring(16)==『41』

即:』a』===『\u0041』

a.    相應3個解碼函式:unescape,decodeuri,decodeuricomponent

b.    escape ('我')=="%u6211",和charcodeat是一樣的,escape方法把字元轉換為js的unicode字串行,數字和字母除外

c.   encodeuri component('我')===encodeuri('我')== "%e6%88%91",把字串採用utf-8編碼格式

d.   部分字元不編碼:

escape不編碼字元有69個:*,+,-,.,/,@,_,0-9,a-z,a-z

encodeuri不編碼字元有82個:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,a-z

encodeuricomponent不編碼字元有71個:!, ',(,),*,-,.,_,~,0-9,a-z,a-z

encodeuri的目的是對 uri 進行完整的編碼,因此對以下在 uri 中具有特殊含義的 ascii 標點符號,encodeuri() 函式是不會進行轉義的:;/?:@&=+$,#

如果 uri 元件中含有分隔符,比如 ? 和 #,則應當使用 encodeuricomponent()方法分別對各元件進行編碼

e.    對於那些會被編碼的ascii字元,三種方法的編碼結果是一樣的,比如,對空格的編碼:

escape(『 』)== encodeuri(『 』)== encodeuricomponent(『 』)==』%20』

1. +  url 中+號表示空格 %2b  

2. 空格 url中的空格可以用+號或者編碼 %20  

3. /  分隔目錄和子目錄 %2f   

4. ?  分隔實際的 url 和引數 %3f   

5. % 指定特殊字元 %25   

6. # 表示書籤 %23   

7. & url 中指定的引數間的分隔符 %26   

8. = url 中指定引數的值 %3d

應用中,修改客戶端,將客戶端帶「+」的引數中的「+」全部替換為‍「2b%」,這樣引數傳到伺服器端時就能得到「+」了

JavaScript編碼解碼

encodeuri 函式可把字串作為 uri 進行編碼。encodeuri uristring 引數 描述uristring 必需。乙個字串,含有 uri 或其他要編碼的文字。uristring 的副本,其中的某些字元將被十六進製制的轉義序列進行替換。該方法不會對 ascii 字母和數字進行編碼,也...

Javascript編碼風格

js 編碼風格 1 所有 行以分號結束。儘管 js確實允許使用換行符結束。2 使用if 或者for 語句,必須使用 即時只有一句!3 不同於其他程式語言,js中,塊 不會作為變數的作用域。js只支援函式級的作用域 var定義 或者全域性作用域 不定義,或者 var定義在函式外 因此,js中只允許 f...

JavaScript基本編碼模式

1.變數定義 一般寫法 var a 0 var b 1 var c 推薦寫法 var a 0,b 1,c 2.盡量使用字面量 一般寫法 var obj new object obj.a aa obj.b bb obj.c cc var arr new array 推薦寫法 var obj var a...