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";
escape(url) -->
http%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";
encodeuri(url) -->
http://localhost:8080/pro?a=1&b=%e5%bc%a0%e4%b8%89&c=aaa
3.encodeuricomponent 和 decodeuricomponent
與encodeuri()的區別是,它用於對url的組成部分進行個別編碼,而不用於對整個url進行編碼。
因此,"; / ? : @ & = + $ , #",這些在encodeuri()中不被編碼的符號,在encodeuricomponent()中統統會被編碼。至於具體的編碼方法,兩者是一樣。把uri字串採用utf-8編碼格式轉化成escape格式的字串。
encodeuricomponent() 用於引數的傳遞,引數包含特殊字元可能會造成間斷。
例1
var url = "http://localhost:8080/pro?a=1&b=張三&c=aaa";
encodeuricomponent(url) -->
http%3a%2f%2flocalhost%3a8080%2fpro%3fa%3d1%26b%3d%e5%bc%a0%e4%b8%89%26c%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進行轉碼與解碼
用途 用於js對字串編碼 escape 用於整個url編碼 encodeurl 用於引數傳遞編碼 encodeuricomponent 詳解 1.escape 和 unescape escape 不能直接用於url編碼,它的真正作用是返回乙個字元的unicode編碼值。採用unicode字符集對指定...