首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

URL 如何编码

URL编码要做的,就是将每一个非安全的ASCII字符都被替换为“%xx”格式, 对于非ASCII字符,RFC文档建议使用utf-8对其进行编码得到相应的字节,然后对每个字节执行百分号编码。...函数(推荐使用)   这个函数才是javascript中真正用来对URL编码函数 它着眼于对整个URL进行编码,因此除了常见的符号以外,对其他一些在网址中有特殊含义的符号"; / ?...: @ & = + $ , #",也不进行编码编码后,它输出符号的utf-8形式,并且在每个字节前加上%。 需要注意的是,它不对单引号'编码 它对应的解码函数是decodeURI()。...encodeURIComponent函数(推荐使用) 与encodeURI()的区别是,它用于对URL的组成部分进行个别编码,而不用于对整个URL进行编码。 因此,"; / ?...: @ & = + $ , #",这些在encodeURI()中不被编码的符号,在encodeURIComponent()中统统会被编码,具体的编码规则是和encodeURI函数是一样的 它对应的解码函数

1.6K20

js解决url传递中文参数乱码问题

乱码的url 正确的url bug解决思路: 1.文件为空,应该是请求的url路径不对,显示一个空的模板即没带参数,因此可以判断是参数有误; 2.控制台打出url,可以看出是参数中文乱码;...采用unicode字符集对指定的字符串除0-255以外进行编码。...escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z。 escape()函数用于js对字符串进行编码,不常用。 //跳转页 location.href = '....encodeURI编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z encodeURI()用于整个url编码。...: @ & = + $ , #”,这些在encodeURI()中不被编码的符号,在encodeURIComponent()中统统会被编码。至于具体的编码方法,两者是一样。

16810
您找到你想要的搜索结果了吗?
是的
没有找到

Javascript中的url编码与解码(详解)

这三个编码函数——escape,encodeURI,encodeURIComponent——都是用于将不安全不合法的Url字符转换为合法的Url字符表示,它们有以下几个不同点。...安全字符不同 下面的表格列出了这三个函数的安全字符(即函数不会对这些字符进行编码) 安全字符 escape(69个) */@+-._0-9a-zA-Z encodeURI(82个) !...但是在ECMA-262标准中仍然保留着escape的这种编码语法。encodeURI和encodeURIComponent则使用UTF-8对非ASCII字符进行编码,然后再进行百分号编码。...因此建议尽可能的使用这两个函数替代escape进行编码。 适用场合不同 encodeURI被用作对一个完整的URI进行编码,而encodeURIComponent被用作对URI的一个组件进行编码。...所以我当时就很质疑,难道encodeURI还跟页面编码有关,但是我发现,正常情况下,如果你使用gb2312进行Url编码也不会得到这个结果的才是。

2.3K90

【基础进阶】URL详解与URL编码

如下: escape 、 encodeURI 、encodeURIComponent  escape() 首先想声明的是,W3C把这个函数废弃了,身为一名前端如果还用这个函数是要打脸的。...() encodeURI() 是 Javascript 中真正用来对 URL 编码函数。...是的,它用于对整个 URL 直接编码,不会对 ASCII字母 、数字 、 ~ ! @ # $ & * ( ) = : / , ; ? + ' 进行编码encodeURI("~!...t=123&s=456"; 直接对它进行 encodeURI 显然是不行的。因为 encodeURI 不会对冒号 : 及斜杠 / 进行转义,那么就会出现上述所说的服务器接受到之后解析会有歧义。...它的作用是对 URL 中的参数进行编码,记住是对参数,而不是对整个 URL 进行编码。 因为它仅仅不对 ASCII字母、数字 ~ ! * ( ) '  进行编码

2.4K90

关于URL编码

/"以外,对其他所有字符进行编码。在\u0000到\u00ff之间的符号被转成%xx的形式,其余符号被转成%uxxxx的形式。对应的解码函数是unescape()。...这一点对下面两个函数也适用。 其次,escape()不对"+"编码。但是我们知道,网页在提交表单的时候,如果有空格,则会被转化为+字符。服务器处理数据的时候,会把+号处理成空格。...七、Javascript函数encodeURI() encodeURI()是Javascript中真正用来对URL编码函数。...编码后,它输出符号的utf-8形式,并且在每个字节前加上%。 它对应的解码函数是decodeURI()。 需要注意的是,它不对单引号'编码。...与encodeURI()的区别是,它用于对URL的组成部分进行个别编码,而不用于对整个URL进行编码。 因此,"; / ?

1.7K30

Web开发须知:URL编码与解码

引号以及:引号和尖括号通常用于在普通文本中起到分隔Url的作用 #:通常用于表示书签或者锚点 %:百分号本身用作对不安全字符进行编码时使用的特殊字符,因此本身需要编码 {}|\^[]`~:某一些网关或者传输代理会篡改这些字符...安全字符不同:   下面列出了这三个函数的安全字符(即函数不会对这些字符进行编码) escape(69个):*/@+-._0-9a-zA-Z encodeURI(82个):!...但是在ECMA-262标准中仍然保留着escape的这种编码语法。encodeURI和encodeURIComponent则使用UTF-8对 非ASCII字符进行编码,然后再进行百分号编码。...因此建议尽可能的使用这两个函数替代escape进行编码。   ...适用场合不同:encodeURI被用作对一个完整的URI进行编码,而encodeURIComponent被用作对URI的一个组件进行编 码。

2.4K30

为什么要进行URL编码!!!

引号以及:引号和尖括号通常用于在普通文本中起到分隔Url的作用 #:通常用于表示书签或者锚点 %:百分号本身用作对不安全字符进行编码时使用的特殊字符,因此本身需要编码 {}|\^[]`~:某一些网关或者传输代理会篡改这些字符...这三个编码函数——escape,encodeURI,encodeURIComponent——都是用于将不安全不合法的Url字符转换为合法的Url字符表示,它们有以下几个不同点。...安全字符不同: 下面列出了这三个函数的安全字符(即函数不会对这些字符进行编码) escape(69个):*/@+-._0-9a-zA-Z encodeURI(82个):!#$&'()*+,/:;=?...但是在ECMA-262标准中仍然保留着escape的这种编码语法。encodeURI和encodeURIComponent则使用UTF-8对非ASCII字符进行编码,然后再进行百分号编码。...因此建议尽可能的使用这两个函数替代escape进行编码。 适用场合不同:encodeURI被用作对一个完整的URI进行编码,而encodeURIComponent被用作对URI的一个组件进行编码

5.9K30

为什么要进行 URL 编码???

引号以及:引号和尖括号通常用于在普通文本中起到分隔Url的作用 #:通常用于表示书签或者锚点 %:百分号本身用作对不安全字符进行编码时使用的特殊字符,因此本身需要编码 {}|\^[]`~:某一些网关或者传输代理会篡改这些字符...这三个编码函数——escape,encodeURI,encodeURIComponent——都是用于将不安全不合法的Url字符转换为合法的Url字符表示,它们有以下几个不同点。...安全字符不同: 下面列出了这三个函数的安全字符(即函数不会对这些字符进行编码) escape(69个):*/@+-._0-9a-zA-Z encodeURI(82个):!#$&'()*+,/:;=?...但是在ECMA-262标准中仍然保留着escape的这种编码语法。encodeURI和encodeURIComponent则使用UTF-8对非ASCII字符进行编码,然后再进行百分号编码。...因此建议尽可能的使用这两个函数替代escape进行编码。 适用场合不同:encodeURI被用作对一个完整的URI进行编码,而encodeURIComponent被用作对URI的一个组件进行编码

1.1K20

escape() VS encodeURI() VS encodeURIComponent()的区别

JavaScript中有三个可以对字符串编码函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent...下面简单介绍一下它们的区别 1 escape()函数 定义和用法  escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。...2 encodeURI()函数 定义和用法  encodeURI() 函数可把字符串作为 URI 进行编码。...该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/?...:@&=+$,# 3 encodeURIComponent() 函数 定义和用法  encodeURIComponent() 函数可把字符串作为 URI 组件进行编码

1K10

《现代Javascript高级教程》JavaScript中的编码方法:escape、encodeURI和encodeURIComponent的深入理解

对于ASCII字符代码大于255的字符,escape函数会先将其转化为Unicode转义序列(例如,\u20AC),然后再对这个转义序列进行编码。这种处理方式会导致一些问题。...2. encodeURI函数 接下来,我们来看看encodeURI函数。这个函数用于编码完整的URL。它会将非法的URL字符转化为各自的十六进制表示,以%开头。...然而,encodeURI函数并不会对所有的字符进行编码。一些在URL中有特殊含义的字符,例如/,:,#等,以及ASCII字母,数字和一些符号(- _ . !...在这个例子中,encodeURI函数将空格字符编码为%20,因为空格在URL中是不合法的。而其他的字符,如/和:等,都没有被编码。...这意味着encodeURIComponent函数会对更多的字符进行编码。在大多数情况下,我们都应该使用`encodeURIComponent `函数编码URL的组成部分。

25140

JS中encodeURI,escape,encodeURIComponent区别

js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 1、...word=中国&ct=21); 使用这个方法编码的字符在PHP中可以使用urldecode()函数编码 3、js使用数据时可以使用escape escape对0-255以外的unicode值进行编码时输出...注意   escape 方法不能够用来对统一资源标示码 (URI) 进行编码。对其编码应使用 encodeURI 和encodeURIComponent 方法。...encodeURI 方法不会对下列字符进行编码:":"、 "/"、";" 和 "?"。请使用 encodeURIComponent 方法对这些字符进行编码。...这样一来,当该编码结 果被作为请求发送到 web 服务器时将是无效的。如果字符串中包含不止一个 URI 组件,请使用 encodeURI 方法进行编码

1.2K80

URI编码解码和base64

概述 对于uri的编解码,在js中有3对函数,分别是escape/unescape,encodeURI/decodeURI,encodeURIComponent/decodeURIComponent。...它们的适用范围不同,而且遵循的编码规范也不同。 对于上述函数而言,所有的ASCII的字符编码相同,采用%XX的形式。...而对于unicode字符,escape编码形式为%uXXXX,而其余两个函数 则先将unicode字符按照utf-8对其进行编码,然后继续进行uri编码(百分号)。...区别 这三对函数的安全字符(即不需要编码的字符)范围也不同,如下所示: escape(69个):*/@+-._0-9a-zA-Z encodeURI(82个):!#$&'()*+,/:;=?...()*-._~0-9a-zA-Z 现在对比encodeURI和encodeURIComponent,从名称上可看出encodeURI是针对整个URI进行编码,我们以特殊的URI--URL来说明下。

2.3K70

encodeURIcomponent编码和ASP.NET之间编码转换

Javascript的URL编码转换,escape() encodeURI() encodeURIComponent(),asp.net 的UrlDecode进行解码 。...本文介绍对url编码的三种函数 escape() ,encodeURI() ,encodeURIComponent() escape() 方法: 采用ISO Latin字符集对指定的字符串进行编码。...不会被此方法编码的字符: @ * / + encodeURI() 方法: 把URI字符串采用UTF-8编码格式转化成escape格式的字符串。不会被此方法编码的字符:!...与encodeURI()相比,这个方法将对更多的字符进行编码,比如 / 等字符。所以如果字符串里面包含了URI的几个部分的话,不能用这个方法来进行编码,否则 / 字符被编码之后URL将显示错误。...注意:escape 方法不能用来对“统一资源标识符”(uri) 进行编码。对其编码应使用 encodeuri 和 encodeuricomponent 方法。

1.8K100

JS编码解码

一、定义和用法 encodeURI() 函数可把字符串作为 URI 进行编码。 语法 encodeURI(URIstring) 参数 描述 URIstring 必需。...该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/?...此方法的解码为decodeURI() 二、定义和用法 escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。...三、JavaScript encodeURIComponent() 函数 定义和用法 encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。...提示和注释 提示:请注意 encodeURIComponent() 函数encodeURI() 函数的区别之处,前者假定它的参数是 URI 的一部分(比如协议、主机名、路径或查询字符串)。

7.7K61
领券