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

简介: 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"))
# 美国

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'}
相关文章
|
3月前
|
安全 Java 程序员
【HTTP】认识 URL 和 URL encode
【HTTP】认识 URL 和 URL encode
52 0
|
5月前
|
数据采集 索引 Python
Python中这样操作url也太爽了吧
Python中这样操作url也太爽了吧
|
5月前
|
算法 Python
【Leetcode刷题Python】百分号解码
深信服公司的算法笔试题.
44 1
|
5月前
|
API
【Azure API 管理】Azure API Management在设置 Policy时,如何对URL进行解码呢? 使用 HttpUtility.UrlDecode 出错
【Azure API 管理】Azure API Management在设置 Policy时,如何对URL进行解码呢? 使用 HttpUtility.UrlDecode 出错
|
6月前
|
前端开发 安全 测试技术
【Python】已解决:The method is not allowed for the requested URL.
【Python】已解决:The method is not allowed for the requested URL.
542 3
|
6月前
|
存储 SQL Python
`urllib.parse`模块是Python标准库`urllib`中的一个子模块,它提供了处理URL(统一资源定位符)的实用功能。这些功能包括解析URL、组合URL、转义URL中的特殊字符等。
`urllib.parse`模块是Python标准库`urllib`中的一个子模块,它提供了处理URL(统一资源定位符)的实用功能。这些功能包括解析URL、组合URL、转义URL中的特殊字符等。
|
6月前
|
JavaScript 前端开发 数据格式
URL编码【详解】——Javascript对URL进行编码解码的三种方式的区别和使用场景,axios请求拦截器中对get请求的参数全部进行URL编码
URL编码【详解】——Javascript对URL进行编码解码的三种方式的区别和使用场景,axios请求拦截器中对get请求的参数全部进行URL编码
334 0
|
8月前
|
Python
python编码和解码
【5月更文挑战第8天】
41 4
|
8月前
|
Python
Python字符串和字节使用正确的编码/解码
【5月更文挑战第6天】Python字符串和字节使用正确的编码/解码
52 2
|
7月前
|
自然语言处理 Python
Python 中的编码与解码字符集与 Unicode 的详解
【6月更文挑战第10天】Python编程中,理解字符编码(如ASCII、UTF-8)和Unicode至关重要,它们关乎文本数据的正确处理。编码是字符转字节,解码则相反。UTF-8能表示几乎所有字符,适合多语言。Unicode为全球字符提供唯一编码。处理不同源文本时,需注意编码一致性,否则可能产生乱码。Python支持Unicode,但错误的编码解码操作可能导致问题。要确保程序处理文本的正确性,需选合适编码方案并保持编码一致性。
92 0