乐趣区

关于python3.x:Python-urlencode和unquote函数使用实例解析

当 url 地址含有中文,或者参数有中文的时候,这个算是很失常了,然而把这样的 url 作为参数传递的时候(最常见的 callback),须要把一些中文甚至 ’/’ 做一下编码转换。

所以对于一些中文或者字符,url 不辨认的,则须要进行转换,转换后果如下:

一、urlencode

urllib 库外面有个 urlencode 函数,能够把 key-value 这样的键值对转换成咱们想要的格局,返回的是 a =1&b= 2 这样的字符串,比方:

import urllib.parse
values={}
values['username']='02 蔡彩虹'
values['password']='ddddd?'
url="http://www.baidu.com"
data=urllib.parse.urlencode(values)
print(data)
# 输入:username=02%E8%94%A1%E5%BD%A9%E8%99%B9&password=ddddd%3F

如果只想对一个字符串进行 urlencode 转换,怎么办?urllib 提供另外一个函数:quote()

import urllib.parse
s='长春'
s=urllib.parse.quote(s)
print(s)
# 输入:%E9%95%BF%E6%98%A5

二、urldecode

当 urlencode 之后的字符串传递过去之后,承受结束就要解码了——urldecode。urllib 提供了 unquote() 这个函数,可没有 urldecode()!

s='%E5%B9%BF%E5%B7%9E'
s=urllib.parse.unquote(s)
print(s)
# 输入:广州 

原文地址:https://www.jb51.net/article/…

退出移动版