关于url、Unicode编码

今天思考了一个问题,为什么网站要进行url编码,查阅了资料说是一种规范,但个人还是比较理解的一个原因就是一个URL里面可能包含另一个URL,若直接访问的话就会出问题。如下:

# 注意看redirect_uri的内容:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=http://api.baidu.com/callback.php&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
# 这样的话就无法获取到redirect_uri的内容了。

若上面这个例子进行了url编码的话:

# 就会生成如下的URL:
# 注意看redirect_uri的内容:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=http%3A%2F%2Fapi.baidu.com%2Fcallback.php&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
# 这样就可以很好的获取redirect_uri的内容了。

Python中的编码方式:

# Unicode编码: Python 2中:
# 提供了几种编码的方式:
# 1.Unicode编码方式。
# 2.url编码方式
# 3.UTF-8编码GBK编码
t = u"地址不能为空"
print t.encode("unicode_escape")
对应的解码方法:
t = "\u5730\u5740\u4e0d\u80fd\u4e3a\u7a7a"
print t.decode("unicode_escape")

js中的编码方法:

# 1.Unicode编码
escape("城市房产")
# 输出
%u57CE%u5E02%u623F%u4EA7
# Unicode解码
unescape("%u57CE%u5E02%u623F%u4EA7")

你可能感兴趣的:(关于url、Unicode编码)