JS對URL進行轉碼與解碼

2021-10-25 13:47:21 字數 2008 閱讀 4061

用途

用於js對字串編碼 escape()

用於整個url編碼 encodeurl()

用於引數傳遞編碼 encodeuricomponent()

詳解

1.escape 和 unescape

escape()不能直接用於url編碼,它的真正作用是返回乙個字元的unicode編碼值。

採用unicode字符集對指定的字串除0-255以外進行編碼。所有的空格符、標點符號、特殊字元以及更多有聯絡非ascii字元都將被轉化成%xx格式的字元編碼(xx等於該字元在字符集表裡面的編碼的16進製制數字)。

比如,空格符對應的編碼是%20。

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

escape()函式用於js對字串進行編碼,不常用。

var url =

"http://localhost:8080/pro?a=1&b=張三&c=aaa"

3a//localhost%3a8080/pro%3fa%3d1%26b%3d%u5f20%u4e09%26c%3daaa

2. encodeuri 和 decodeuri

編碼方式:把uri字串採用utf-8編碼格式轉化成escape各式的字串。

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

encodeuri()用於整個url編碼

var url =

"http://localhost:8080/pro?a=1&b=張三&c=aaa"

%89&c=aaa

3. encodeuricomponent 和 decodeuricomponent

「; / ? : @ & = + $ , #」,這些在encodeuri()中不被編碼的符號,在encodeuricomponent()中統統會被編碼。

編碼方式同encodeuri。

encodeuricomponent() 用於引數的傳遞,引數包含特殊字元可能會造成間斷。

例子1

var url =

"http://localhost:8080/pro?a=1&b=張三&c=aaa"

3daaa

例子2

;應該使用encodeuricomponent

()進行轉碼  

JS中對URL進行轉碼與解碼

1.escape 和 unescape escape 不能直接用於url編碼,它的真正作用是返回乙個字元的unicode編碼值。採用unicode字符集對指定的字串除0 255以外進行編碼。所有的空格符 標點符號 特殊字元以及更多有聯絡非ascii字元都將被轉化成 xx格式的字元編碼 xx等於該字元...

JS中對URL進行轉碼與解碼

1.escape 和 unescape escape 不能直接用於url編碼,它的真正作用是返回乙個字元的unicode編碼值。採用unicode字符集對指定的字串除0 255以外進行編碼。所有的空格符 標點符號 特殊字元以及更多有聯絡非ascii字元都將被轉化成 xx格式的字元編碼 xx等於該字元...

JS中對URL進行轉碼與解碼

1.escape 和 unescape escape 不能直接用於url編碼,它的真正作用是返回乙個字元的unicode編碼值。採用unicode字符集對指定的字串除0 255以外進行編碼。所有的空格符 標點符號 特殊字元以及更多有聯絡非ascii字元都將被轉化成 xx格式的字元編碼 xx等於該字元...