Python URL 地址的编码和解码

简介

在Python中,可以使用urllib.parse模块中的quote()和unquote()函数来进行URL地址的编码和解码

编码

quote()函数用于将字符串进行URL编码,该函数接受一个字符串作为参数,并返回编码后的字符串。例如:

from urllib.parse import quote

s = "http://example.com/?name=张三&age=18"
encoded_s = quote(s)
print(encoded_s)

在上面的例子中,我们使用quote()函数对字符串s进行URL编码,得到了编码后的字符串http%3A//example.com/%3Fname%3D%u5F20%u4E09%26age%3D18。其中,%3A表示冒号,%2F表示斜杠,%3F表示问号,%26表示“&”符号,%u5F20 和 %u4E09 分别表示“张”和“三”这两个汉字的Unicode编码

解码

unquote()函数用于将URL编码的字符串进行解码,该函数接受一个字符串作为参数,并返回解码后的字符串。例如:

from urllib.parse import unquote

s = "http%3A//example.com/%3Fname%3D%u5F20%u4E09%26age%3D18"
decoded_s = unquote(s)
print(decoded_s)

在上面的例子中,我们使用unquote()函数对字符串s进行URL解码,得到了解码后的字符串http://example.com/?name=张三&age=18

注意点

需要注意的是,quote()函数和unquote()函数默认使用UTF-8编码进行URL编码和解码。如果要使用其他编码格式,可以在函数调用时指定第二个参数,例如:

from urllib.parse import quote, unquote

s = "http://example.com/?name=张三&age=18"

# 使用GBK编码进行URL编码
encoded_s = quote(s, encoding="GBK")
print(encoded_s)

# 使用GBK编码进行URL解码
decoded_s = unquote(encoded_s, encoding="GBK")
print(decoded_s)

我们分别使用quote()函数和unquote()函数对字符串s进行了GBK编码和解码,得到了相应的结果

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值