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

JSencodeURI,escape,encodeURIComponent区别

js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 1、...word=中国&ct=21); 使用这个方法编码的字符在PHP中可以使用urldecode()函数反编码 3、js使用数据时可以使用escape escape对0-255以外的unicode值进行编码时输出...encodeURI 方法 将文本字符串编码为一个有效的统一资源标识符 (URI)。 encodeURI(URIString) 必选的 URIString 参数代表一个已编码的 URI。...说明 encodeURI 方法返回一个编码的 URI。如果您将编码结果传递给 decodeURI,那么将返回初始的字符串。...这样一来,当该编码结 果被作为请求发送到 web 服务器时将是无效的。如果字符串中包含不止一个 URI 组件,请使用 encodeURI 方法进行编码

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

JS编码解码

一、定义和用法 encodeURI() 函数可把字符串作为 URI 进行编码。 语法 encodeURI(URIstring) 参数 描述 URIstring 必需。...说明 该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。...该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/?...要被转义或编码的字符串。 返回值 已编码的 string 的副本。其中某些字符被替换成了十六进制的转义序列。...提示和注释 提示:请注意 encodeURIComponent() 函数 与 encodeURI() 函数的区别之处,前者假定它的参数是 URI 的一部分(比如协议、主机名、路径或查询字符串)。

7.7K61

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

因此,我们不应该再使用escape函数来处理URL编码。 2. encodeURI函数 接下来,我们来看看encodeURI函数。这个函数用于编码完整的URL。...然而,encodeURI函数并不会对所有的字符进行编码。一些在URL中有特殊含义的字符,例如/,:,#等,以及ASCII字母,数字和一些符号(- _ . !...~ * ' ( )),不会被encodeURI函数编码。这是因为这些字符在URL中是合法的,可以直接使用。...在这个例子中,encodeURI函数将空格字符编码为%20,因为空格在URL中是不合法的。而其他的字符,如/和:等,都没有被编码。...总结 总的来说,当我们需要编码完整的URL时,应该使用encodeURI函数;而当我们需要编码URL的组成部分,比如查询参数,应该使用encodeURIComponent函数。

24940

中文参数乱码问题——js字符串编码

jquery.get中文参数问题——js符串编码 摘要: 使用jquery.get进行ajax请求获取数据是很常见的操作,一般请求参数都为字母,今天发现在参数中使用中文会出现浏览器兼容性问题,现在记录如下...对url进行编码处理 相关知识: js编码个函数:escape,encodeURI,encodeURIComponent,相应解码函数:unescape,decodeURI,decodeURIComponent...escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z encodeURI(): 把URI字符串采用UTF-8编码格式转化成escape各式的字符串。...encodeURI编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?...与encodeURI()相比,encodeURI()将对更多的字符编码,比如 / 等字符。所以假如字符串里面包含了URI的几个部份的话,不要用进行编码,否则 / 字符被编码之后URL将呈现错误。

4.5K10

URI编码解码和base64

概述 对于uri的编解码,在js中有3对函数,分别是escape/unescape,encodeURI/decodeURI,encodeURIComponent/decodeURIComponent。...在js中,IE10以及w3c浏览器内置了window.btoa()来完成二进制数据或者ASCII字符到base64的转换。但是 unicode字符不能使用该函数。...区别 这三对函数的安全字符(即不需要编码的字符)范围也不同,如下所示: escape(69个):*/@+-._0-9a-zA-Z encodeURI(82个):!#$&'()*+,/:;=?...()*-._~0-9a-zA-Z 现在对比encodeURI和encodeURIComponent,从名称上可看出encodeURI是针对整个URI进行编码,我们以特殊的URI--URL来说明下。...对于URL为http://www.baidu.com而言,如果用encodeURI编码,返回的仍是“http://www.baidu.com”;如果用encodeURIComponent 编码,返回的为

2.3K70

一文助你分清encodeURI与encodeURIComponent

帮助你区别 encodeURI 与 encodeURIComponent 的使用场景 # 背景 最近在公司做预览功能时,遇到对请求参数进行编码的场景。那么问题来了: 为什么要对链接或参数进行编码?...何时需要编码encodeURI 与 encodeURIComponent 有啥区别呢?...# encodeURI 用作对一个完整的 URI 进行编码,不会对网址中的 ASCII 字母和数字及标点符号进行编码。 !#$&'()*+,/:;=?...encodeURIComponent 会假定它的参数是 URI 的一部分(比如协议、主机名、路径或查询字符串),在 encodeURI 中不被编码的符号"; / ?...._~0-9a-zA-Z 可以看到 encodeURIComponent 编码的字符范围比 encodeURI 的大 # 参考资料 encodeURI encodeURIComponent 百分比编码

68030

get请求中url传参中文乱码问题–集锦「建议收藏」

2、前台需要对中文参数进行编码,调用js方法encodeURI(url),将url编码,然后请求。...3、解决get请求,后台接受中文参数乱码处理的方法(搜索功能带参数) (1)前台获取数据,在js中进行编码处理 encodeURI函数采用utf-8进行编码...两次encodeURI,第一次编码得到的是UTF-8形式的URL,第二次编码得到的依然是UTF-8形式的URL,但是在效果上相当于首先进行了一 次UTF-8编码(此时已经全部转换为ASCII字符),再进行了一次...注: 1:这种两次encodeURI方式不用去知道服务器的解码方式,也可以得到正确的数据。...2:get请求建议尽量不带中文参数,如果使用建议使用两次encodeURI进行编码 3.参考资料 URL编码与两次encodeURI:http://blog.sina.com.cn/s/blog

4.9K50
领券