decodeURI与decodeURIComponent区别

decodeURI与decodeURIComponent区别1.概念:URI:UniformResourceIdentifiers,通用资源标识符Global对象的encodeURI()和encodeURIComponent()方法可以对URI进行编

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

 

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.net/166755.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 学单片机有前途还是嵌入式系统有前途好_嵌入式系统与单片机的前景

    学单片机有前途还是嵌入式系统有前途好_嵌入式系统与单片机的前景著名嵌入式工程师吴坚鸿曾经发过一贴“学单片机有前途还是嵌入式系统有前途?”原贴如下:http://www.makeru.com.cn/live/3523_1772.html?s=69821我在深圳一直搞单片机的开发,接的项目各种各样,不计其数。很多朋友问我学习单片机有前途还是嵌入式系统有前途,毫无疑问的,当然是单片机有前途。嵌入式系统现在炒得很火,满街到处都是嵌入式系统的培训。遇到很多刚入门…

    2025年10月29日
    2
  • PS2手柄遥控Arduino小车[通俗易懂]

    PS2手柄遥控Arduino小车[通俗易懂]使用手柄遥控小车是经常要用到的,看到PS2手柄很6,就拿来尝试一下。PS2手柄是索尼的PlayStation2游戏机的遥控手柄,因为这款手柄性价比较高,按键丰富,方便扩展到其它应用中,后来有人将其通讯协议破解,使得手柄可以用在遥控其他电器上,比如遥控控制机器人小车。最主要的是这款手柄,拿来就可以用,有人已经将其通讯协议破解了。具体可以参考极客工坊。其PS2X_lib库,可以参见Github

    2022年6月14日
    42
  • objectmapper json转对象_图片格式转换器

    objectmapper json转对象_图片格式转换器JSONObject转换为Mapimportcom.alibaba.fastjson.TypeReference;importcom.alibaba.fastjson.JSONObject;JSONObjectobj=newJSONObject();{obj.put(“key1″,”value1”);obj.put(“key2″,”value2”);obj.put(“key3″,”value3”);}Map<String,String>params=

    2022年8月23日
    9
  • anaconda安装opencv(whl文件)

    anaconda安装opencv(whl文件)我用pipinstall和condainstall的方法都安装不上去,都失败了,找了很多原因都没办法解决。没办法,只能尝试一下用第三方包whl文件安装下,因为原来没有用过这个方法,也不知道难不难,小心的去试了一下,没想到非常的容易!而且清华大学opencvpython库里的whl文件下载速度非常快(几十秒),比我之前在别的地方找的whl文件快多了。没安装上opencv或其他库的小伙伴,…

    2022年5月22日
    121
  • Nginx的默认端口是_https默认端口

    Nginx的默认端口是_https默认端口我们前面一篇说了nginx的默认端口是80,可是空说无凭,我们用事实来说话。我们首先用whereisnginx.conf来看一下哪些目录里面有nginx.conf文件,我们看到了一共有6个目录,这里是应该分别到这六个文件里面去看一下,但是由于我们提前找过了,是/etc/nginx这个目录,所以我们就直接到该目录下面,即采用cd来切换目录,下图已经把这个文件标出来了。接着,我们查看…

    2025年10月8日
    3
  • 一、设计模式-开篇—为什么我要去旅行? #和设计模式一起旅行#

    独学而无友,则孤陋而寡闻。——《礼记·学记》写在开篇,本篇是一个综合帖,里面可能会记录一些我的学习感受,也可能记录一些我学习的资料的说明,总之这就是一个大杂烩的博文。开篇杂谈最近学习一些技术之外的其他东西,怎么进行时间管理了,怎么坚持去做一件事情了,还是学到了一些其他的新的东西!做一件事情最难的是什么,是启动!启动之后最难是什么,是坚持!很多时候大的道理我们都懂,但…

    2022年2月27日
    52

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号