decodeURI与decodeURIComponent区别
1. 概念:
URI: Uniform ResourceIdentifiers,通用资源标识符
Global对象的encodeURI()和encodeURIComponent()方法可以对URI进行编码,以便发送给浏览器。有效的URI中不能包含某些字符,例如空格。而这URI编码方法就可以对URI进行编码,它们用特殊的UTF-8编码替换所有无效的字 符,从而让浏览器能够接受和理解。
其中encodeURI()主要用于整个URI(例如,http://www.jxbh.cn/illegal value.htm),而encode-URIComponent()主要用于对URI中的某一段(例如前面URI中的illegal value.htm)进行编码。它们的主要区别在于,encodeURI()不会对本身属于URI的特殊字符进行编码,例如冒号、正斜杠、问号和井字号;而encodeURIComponent()则会对它发现的任何非标准字符进行编码。来看下面的例子: var uri=”http://www.jxbh.cn/illegal value.htm#start”; //”http: //www.jxbh.cn/illegal%20value .htm#s tart” alert(encodeURI (uri)): //”http% 3A%2F%2Fwww.jxbh.cn%2 Fillegal%2 0value. htm%23 start” alert( encodaURIComponent (uri));
使用encodeURI()编码后的结果是除了空格之外的其他字符都原封不动,只有空格被替换成了%20。而encodeURIComponent()方法则会使用对应的编码替换所有非字母数字字符。这也正是可以对整个URI使用encodeURI(),而只能对附加在现有URI后面的字符串使用encodeURIComponent()的原因所在。一般来说,我们使用encodeURIComponent()方法的时候要比使用encodeURI()更多,因为在实践中更常见的是对查询字符串参数而不是对基础URL进行编码.
最好使用decodeURIComponent()进行解码
防止中文乱码方法: decodeURIComponent(数据,true)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/166755.html原文链接:https://javaforall.cn
相关文章
- 4G与5G网络有哪些区别
- 彻底弄懂StringBuffer与StringBuilder的区别「建议收藏」
- Java中&和&&,|和||的区别(超详细讲解),细节请必会!
- 【说站】javascript中null和undefined的区别
- 头文件cstring、string、string.h的区别「建议收藏」
- typeScripte 中 extends 和implements区别
- 多线程锁有几种类型_线程互斥和同步的区别
- PHP 函数传值和传引用的区别
- 腾讯云轻量服务器和云服务器区别(超详细全解析)
- MySQL中char与varchar的区别详解数据库
- javaScript中confirm,alert,prompt函数使用区别分析详解编程语言
- 探究Linux系统下SD和HD的区别(linux sd hd)
- 比较Oracle和MySQL:异同之处(oracle和mysql区别)
- 本地缓存与Redis的比较哪个更好(本地缓存跟redis区别)
- MySQL不是浮点类型,区别于其他数值类型的数据处理方法(mysql不属于浮点类型)
- 比较分析Oracle与用友之间的差异(oracle与用友的区别)
- php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
- indexof和indexofany的区别介绍
- java中publicclass与class的区别详解
- jquery的trigger和triggerHandler的区别示例介绍