暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Python使用quote、unquote、urlencode、urldecode对url编码解码

Coding Big Tree 2019-12-26
449

1、对单个字符串编码

from urllib.parse import quote, unquote

# 编码
print(quote("美国"))
# %E7%BE%8E%E5%9B%BD

# 解码
print(unquote("%E7%BE%8E%E5%9B%BD"))
# 美国

2、对key-value字典数据编码

from urllib.parse import unquote, urlencode

data = {
    "name""Tom",
    "country""美国",
    "age"23
}

# 编码
print(urlencode(data))
# name=Tom&country=%E7%BE%8E%E5%9B%BD&age=23

# 解码
print(unquote("name=Tom&country=%E7%BE%8E%E5%9B%BD&age=23"))
# name=Tom&country=美国&age=23

3、自定义实现url解码
tip: urllib库没有提供 urldecode 函数

# 将查询字符串转为dict字典数据类型
def urldecode(query):
    item = {}
    for key_value in unquote(query).split("&"):
        key, value = key_value.split("=")
        item[key] = value

    return item


print(urldecode("name=Tom&country=%E7%BE%8E%E5%9B%BD&age=23"))
# {'name': 'Tom', 'country': '美国', 'age': '23'}

参考
python中的urlencode与urldecode


文章转载自Coding Big Tree,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论