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

举报
彭世瑜 发表于 2021/08/13 22:58:39 2021/08/13
【摘要】 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

参考
python中的urlencode与urldecode

文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。

原文链接:pengshiyu.blog.csdn.net/article/details/103703122

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。