php中urlencode、rawurlencode,javascript中encodeURI、encodeURIComponent

广告位招租
扫码页面底部二维码联系

在项目中,常常需要对url、uri进行编著作权归作者所有,禁止商业用途转载。原创内容,盗版必究。码和解码,数据也要编码后进行传输,因此,【版权所有】唐霜 www.tangshuang.net【关注微信公众号:wwwtangshuangnet】本文要讲的内容就非常重要。在一些测试中,【转载请注明来源】本文作者:唐霜,转载请注明出处。我们发现,有的时候先进行php的enco【原创内容,转载请注明出处】【访问 www.tangshuang.net 获取更多精彩内容】deurl编码,然后再进行decodeu未经授权,禁止复制转载。转载请注明出处:www.tangshuang.netrl解码,再用到javascript中,本文版权归作者所有,未经授权不得转载。【版权所有】唐霜 www.tangshuang.net结果会发生一些错误。编码到解码,会出现一【版权所有,侵权必究】转载请注明出处:www.tangshuang.net些差错,这是由于不同的函数依照不同的标准原创内容,盗版必究。【原创不易,请尊重版权】进行编写,所以经过编码,再解码,就可能会本文版权归作者所有,未经授权不得转载。【本文首发于唐霜的博客】出现问题。

著作权归作者所有,禁止商业用途转载。原创内容,盗版必究。未经授权,禁止复制转载。【原创内容,转载请注明出处】【未经授权禁止转载】

PHP中的urlencode和urlde【原创内容,转载请注明出处】【本文首发于唐霜的博客】code

转载请注明出处:www.tangshuang.net转载请注明出处:www.tangshuang.net【版权所有】唐霜 www.tangshuang.net【版权所有,侵权必究】

urlencode是最传统的url编码函【转载请注明来源】【转载请注明来源】数。特别是在<form>的数本文作者:唐霜,转载请注明出处。【版权所有】唐霜 www.tangshuang.net据传输中,php在接收表单时,就是以ur【本文受版权保护】【转载请注明来源】lencode的结果形式进行接收的,如果【版权所有,侵权必究】【转载请注明来源】<form>的提交形式是ge【转载请注明来源】未经授权,禁止复制转载。t,你就可以在结果地址中看到。但是在ph【版权所有】唐霜 www.tangshuang.net原创内容,盗版必究。p中使用$_GET、$_POST进行接收未经授权,禁止复制转载。【本文首发于唐霜的博客】时,结果却是已经urldecode了的。【本文受版权保护】【原创不易,请尊重版权】官方文档的解释是:此编码与 WWW 表单著作权归作者所有,禁止商业用途转载。【未经授权禁止转载】 POST 数据的编码方式是一样的,同时【未经授权禁止转载】【版权所有】唐霜 www.tangshuang.net与 application/x-www-fo著作权归作者所有,禁止商业用途转载。转载请注明出处:www.tangshuang.netrm-urlencoded 的媒体类型编码方式一样。【作者:唐霜】

著作权归作者所有,禁止商业用途转载。转载请注明出处:www.tangshuang.net【访问 www.tangshuang.net 获取更多精彩内容】【版权所有,侵权必究】原创内容,盗版必究。

urlencode在编码中文和一些字符时【原创内容,转载请注明出处】著作权归作者所有,禁止商业用途转载。,就是将其转换为对应的十六进制编码。

【访问 www.tangshuang.net 获取更多精彩内容】【原创内容,转载请注明出处】本文版权归作者所有,未经授权不得转载。【访问 www.tangshuang.net 获取更多精彩内容】【访问 www.tangshuang.net 获取更多精彩内容】

urldecode在解码时,也有GB23【版权所有】唐霜 www.tangshuang.net转载请注明出处:www.tangshuang.net12和UTF-8之分,主要是用在不同的搜转载请注明出处:www.tangshuang.net【关注微信公众号:wwwtangshuangnet】索引擎中,谷歌雅虎使用的是UTF-8,而本文版权归作者所有,未经授权不得转载。本文作者:唐霜,转载请注明出处。百度则使用的是GB2312。如何在GB2【作者:唐霜】【版权所有】唐霜 www.tangshuang.net312和UTF-8之间转换呢?主要用到m【本文受版权保护】【转载请注明来源】b_convert_encoding函数【本文首发于唐霜的博客】【原创内容,转载请注明出处】,具体这里就不赘述。

【版权所有】唐霜 www.tangshuang.net【访问 www.tangshuang.net 获取更多精彩内容】本文版权归作者所有,未经授权不得转载。【作者:唐霜】
中文 -> GB2312的Encode -> %D6%D0%CE%C4
中文 -> UTF-8的Encode -> %E4%B8%AD%E6%96%87

PHP中的rawurlencode和ra原创内容,盗版必究。原创内容,盗版必究。wurldecode,及与urlenco本文版权归作者所有,未经授权不得转载。未经授权,禁止复制转载。de的比较

本文版权归作者所有,未经授权不得转载。【版权所有】唐霜 www.tangshuang.net原创内容,盗版必究。【原创内容,转载请注明出处】【关注微信公众号:wwwtangshuangnet】

urlencode虽然主要用在数据提交和【本文受版权保护】著作权归作者所有,禁止商业用途转载。传输过程中,但是如果在构造url时,ra原创内容,盗版必究。本文版权归作者所有,未经授权不得转载。wurlencode更好。rawurle【访问 www.tangshuang.net 获取更多精彩内容】本文作者:唐霜,转载请注明出处。ncode和encode的区别,主要是这转载请注明出处:www.tangshuang.net【转载请注明来源】两个函数编写时依据的标准不一样rawur【原创内容,转载请注明出处】【未经授权禁止转载】lencode采用的是RFC1738 编本文作者:唐霜,转载请注明出处。【本文首发于唐霜的博客】码,主要区别在于,对一些特殊字符的编码结【作者:唐霜】【本文首发于唐霜的博客】果不同,rawurlencode对更多的原创内容,盗版必究。【转载请注明来源】字符采用十六进制编码,特别是空格,url转载请注明出处:www.tangshuang.net【版权所有】唐霜 www.tangshuang.netencode编码空格后是加号+,而raw【作者:唐霜】未经授权,禁止复制转载。urlencode编码空格后是%20.

转载请注明出处:www.tangshuang.net转载请注明出处:www.tangshuang.net【本文受版权保护】
urlencode(' ') => +
rawurlencode(' ') => %20

官方文档中指出,对~不再进行编码了。未经授权,禁止复制转载。

【原创内容,转载请注明出处】转载请注明出处:www.tangshuang.net转载请注明出处:www.tangshuang.net【版权所有】唐霜 www.tangshuang.net【本文受版权保护】

Javascript中的encodeUR【版权所有,侵权必究】著作权归作者所有,禁止商业用途转载。I和decodeURI

转载请注明出处:www.tangshuang.net【本文首发于唐霜的博客】【关注微信公众号:wwwtangshuangnet】【版权所有】唐霜 www.tangshuang.net

rawurlencode遵守是94年国际【本文首发于唐霜的博客】【版权所有,侵权必究】标准备忘录RFC1738,而Javasc未经授权,禁止复制转载。【访问 www.tangshuang.net 获取更多精彩内容】ript中的encodeURI也遵循该标未经授权,禁止复制转载。【转载请注明来源】准,所以从某种意义上,php的rawur【作者:唐霜】【本文首发于唐霜的博客】lencode的编码结果和Javascr【本文受版权保护】【未经授权禁止转载】ipt的encodeURI的编码结果是一【本文首发于唐霜的博客】【版权所有】唐霜 www.tangshuang.net样的。

【原创内容,转载请注明出处】【版权所有】唐霜 www.tangshuang.net【版权所有,侵权必究】【版权所有】唐霜 www.tangshuang.net未经授权,禁止复制转载。

encodeURI不编码字符有82个:!【未经授权禁止转载】【访问 www.tangshuang.net 获取更多精彩内容】#$&'()*+,-./:;=?【本文首发于唐霜的博客】【未经授权禁止转载】@_~0-9a-zA-Z

【版权所有,侵权必究】【未经授权禁止转载】【原创内容,转载请注明出处】【作者:唐霜】

Javascript中的encodeUR转载请注明出处:www.tangshuang.net著作权归作者所有,禁止商业用途转载。IComponent和decodeURI【未经授权禁止转载】【访问 www.tangshuang.net 获取更多精彩内容】Component

转载请注明出处:www.tangshuang.net【转载请注明来源】【未经授权禁止转载】

encodeURIComponent的意原创内容,盗版必究。著作权归作者所有,禁止商业用途转载。思非常明确,就是要对uri的组成部分进行本文版权归作者所有,未经授权不得转载。著作权归作者所有,禁止商业用途转载。编码,我们用下面的例子来解释。

【关注微信公众号:wwwtangshuangnet】本文版权归作者所有,未经授权不得转载。【本文受版权保护】
/test-url/测试.html

其中【访问 www.tangshuang.net 获取更多精彩内容】test-url【转载请注明来源】转载请注明出处:www.tangshuang.net测试.html【关注微信公众号:wwwtangshuangnet】这两个段就是component,如果要进【关注微信公众号:wwwtangshuangnet】未经授权,禁止复制转载。行编码,就应该用encodeURICom本文作者:唐霜,转载请注明出处。【版权所有】唐霜 www.tangshuang.netponent。但是如果你用encodeU本文版权归作者所有,未经授权不得转载。未经授权,禁止复制转载。RIComponent(‘/【版权所有】唐霜 www.tangshuang.net【关注微信公众号:wwwtangshuangnet】test-url/测试.htmlR【原创内容,转载请注明出处】转载请注明出处:www.tangshuang.net17;)进行编码,就会对’/著作权归作者所有,禁止商业用途转载。【版权所有,侵权必究】’也进行编码,整个URI会变著作权归作者所有,禁止商业用途转载。未经授权,禁止复制转载。成编码后的十六进制字符串。而encode【访问 www.tangshuang.net 获取更多精彩内容】转载请注明出处:www.tangshuang.netURI进行编码时,则不会对’原创内容,盗版必究。【原创内容,转载请注明出处】/’进行编码,还是完整的UR【本文受版权保护】【转载请注明来源】I,只不过对uri component进本文作者:唐霜,转载请注明出处。【关注微信公众号:wwwtangshuangnet】行了编码。

【本文受版权保护】【版权所有,侵权必究】【未经授权禁止转载】【原创内容,转载请注明出处】【关注微信公众号:wwwtangshuangnet】

encodeURIComponent不编转载请注明出处:www.tangshuang.net原创内容,盗版必究。码字符有71个:!'()*-._~0-9本文作者:唐霜,转载请注明出处。【原创不易,请尊重版权】a-zA-Z

【本文首发于唐霜的博客】转载请注明出处:www.tangshuang.net【本文受版权保护】【作者:唐霜】本文版权归作者所有,未经授权不得转载。

缺少了:#$&+,/:;=@【本文首发于唐霜的博客】

【版权所有】唐霜 www.tangshuang.net转载请注明出处:www.tangshuang.net【访问 www.tangshuang.net 获取更多精彩内容】本文版权归作者所有,未经授权不得转载。

故此,实际上,在Javascript的体【本文受版权保护】【原创内容,转载请注明出处】系里,如果要对数据进行传输,要么不进行编【本文受版权保护】【版权所有,侵权必究】码,要么使用encodeURICompo【作者:唐霜】本文作者:唐霜,转载请注明出处。nent编码,再进行传输,这样才能让数据未经授权,禁止复制转载。【版权所有,侵权必究】解码后不变样。

【原创不易,请尊重版权】本文作者:唐霜,转载请注明出处。未经授权,禁止复制转载。【版权所有,侵权必究】【版权所有】唐霜 www.tangshuang.net

2015-04-07 8005

为价值买单,打赏一杯咖啡

本文价值80.05RMB