哪些字符需要urlencode编码?具体怎么处理?

本文详细介绍了不同编程语言中URL编码的方法及适用场景。对比了JS中的escape(), encodeURI(), encodeURIComponent()和PHP中的urlencode(), rawurlencode()等函数的区别,并列举了它们各自不进行编码的字符集合。

哪些字符需要urlencode编码?具体怎么处理?
JS用escape()/encodeURI()/encodeURIComponent()方法编码,用unescape()/decodeURI()/ecodeURIComponent()解码.

escape()/encodeURI()/encodeURIComponent()的区别:
encodeURI()不编码82个字符!#$&'()*+-./:;=?@_~0-9a-zA-Z
encodeURIComponent()不编码71个字符! '()*-._~0-9a-zA-Z
escape()不编码69个字符*+-./@_0-9a-zA-Z

如果发送页面和接收页面的charset是一样的,只需要用escape()即可,如果发送页面是gb2312,而接收页面是utf-9,就要用encodeURI()/encodeURIComponent(),他们的区别在于,后者编码的字符更多.如果要传递内容而非地址栏参数,请使用encodeURIComponent().

PHP用urlencode()不编码,用urldecode()解码.或者用rawurlencode()编码,用rawurldecode()解码
区别在于rawurlencode()编码的字符更多,包括除-_.以外的所有字符,而urlencode()只编码-_. 之外的非字母非数字字符.特殊字符地址栏编码表

 

空格%20
!%21
#%23
$%24
%%25
&%26
'%27
(%28
)%29
*%2A
+%2B
,%2C
.%2E
/%2F
:%3A
;%3B
=%3D
?%3F
@%40
[%5B
\%5C
]%5D

 

转载于:https://www.cnblogs.com/ziye/p/3818777.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值