Python使用quote、unquote、urlencode、urldecode对url编码解码
【摘要】 1、对单个字符串编码
from urllib.parse import quote, unquote
# 编码
print(quote("美国"))
# %E7%BE%8E%E5%9B%BD
# 解码
print(unquote("%E7%BE%8E%E5%9B%BD"))
# 美国
123456789
2、对key-value字典数据编码
from urll...
1、对单个字符串编码
from urllib.parse import quote, unquote
# 编码
print(quote("美国"))
# %E7%BE%8E%E5%9B%BD
# 解码
print(unquote("%E7%BE%8E%E5%9B%BD"))
# 美国
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
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'}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。
原文链接:pengshiyu.blog.csdn.net/article/details/103703122
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)