js中关于escape,encodeURI,encodeURIComponent三个函数
2011-12-23 00:00
225 查看
var var_1="% $ &"; var var_2='中'; var var_esc=escape(var_1);//%25%20%24%20%26 var var_esc2=escape(var_2);//%u4E2D var var_unesc=unescape(var_esc);//中 var encode_val1=encodeURI(var_1) var encode_val2=encodeURI(var_2)// alert("变量'"+var_1+"'escape编码后:"+var_esc);//%25%20$%20& 可以发现 一些符号没有被转换下面有原因 alert("变量'"+var_2+"'escape编码后:"+var_esc2);//%u4E2D alert("变量'"+var_1+"'encodeURI编码后:"+encode_val1);// alert("变量'"+var_2+"'encodeURI编码后:"+encode_val2);//%E4%B8%AD(UTF-8的编码,具体转换方式见下面表格。。) alert("encodeURIComponent编码后:"+encodeURIComponent(encode_val1)); alert("encodeURIComponent编码后:"+encodeURIComponent(encode_val2));%E4%B8%AD
unicode转utf-8
UCS-4编码 | UTF-8字节流 |
U+00000000 – U+0000007F | 0xxxxxxx |
U+00000080 – U+000007FF | 110xxxxx 10xxxxxx |
U+00000800 – U+0000FFFF | 1110xxxx 10xxxxxx 10xxxxxx |
U+00010000 – U+001FFFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx |
U+00200000 – U+03FFFFFF | 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx |
U+04000000 – U+7FFFFFFF | 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx |
escape: 该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 其他所有的字符都会被转义序列替换(替换为相应的unicode值)。 可以使用 unescape() 对 escape() 编码的字符串进行解码。 注释:ECMAScript v3 反对使用该方法,应用使用 decodeURI() 和 decodeURIComponent() 替代它。 另外: escape对0-255以外的unicode值进行编码时输出%u****格式
encodeURI(URIstring):
该方法不会对 ASCII 字母和数字进行编码(默认为UTF-8编码),也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。 该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/?:@&=+$,# decodeURI()方法来解码。。
encodeURIComponent(URIstring) 该方法不会对 ASCII 字母和数字进行编码(默认为UTF-8),也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。 其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。 decodeURIComponent()解码 例如参数中有#?这样的数值怎么办呢?用encodeURIComponent方法。。
相关文章推荐
- js中escape,encodeURI,encodeURIComponent三个函数的区别
- [转]js中escape,encodeURI,encodeURIComponent三个函数的区别
- js中escape,encodeURI,encodeURIComponent三个函数的区别
- js中escape,encodeURI,encodeURIComponent三个函数的区别
- js中escape,encodeURI,encodeURIComponent三个函数的区别
- js中escape,encodeURI,encodeURIComponent三个函数的区别
- [转]js中escape,encodeURI,encodeURIComponent三个函数的区别
- js中escape,encodeURI,encodeURIComponent三个函数的区别
- js中escape,encodeURI,encodeURIComponent三个函数的区别
- js中escape,encodeURI,encodeURIComponent三个函数的区别
- js中的三个编码函数:escape,encodeURI,encodeURIComponent
- js 解决中文乱码函数-js中escape,encodeURI,encodeURIComponent三个函数的区别
- js中escape,encodeURI,encodeURIComponent三个函数的区别
- js中escape,encodeURI,encodeURIComponent三个函数的区别
- js中escape,encodeURI,encodeURIComponent三个函数的区别
- js中escape,encodeURI,encodeURIComponent三个函数的区别
- js中escape,encodeURI,encodeURIComponent三个函数的区别
- js中escape,encodeURI,encodeURIComponent三个函数的区别
- js中escape,encodeURI,encodeURIComponent三个函数的区别
- [转]js中escape,encodeURI,encodeURIComponent三个函数的区别