python url的编码问题

本文详细介绍了URL中特殊格式如%E4%B8%87%E8%BF的由来,即中文字符的URL编码过程。并深入探讨了Python环境下如何进行URL的编码与解码操作,包括python2与python3的不同实现方式。通过实例演示了urlencode与quote方法的区别,以及如何对含有中文的URL进行正确编码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.问题:

url中常常会有类似于%E4%B8%87%E8%BF的格式存在,这是对于中文做了url编码的原因

二.python的url解码:
  1. python2中:
		import urllib
		urllib.unquote(url)
  1. python3中:
		import urllib.parse
		urllib.parse.unquote(url)
三.python的url编码:

要对含有中文的url做编码,python中可以使用urlencode和quote方法,区别是urlencode是对字典编码(做get请求拼接参数时候可以用到),quote是对单个字符串编码

  1. python2中:
		import urllib
		urllib.urlencode()
  1. python3中:
		import urllib.parse
		#urllib.parse.urlencode()方法
		data={"name":"王逆战","age":"/","addr":"abcdef"}
		print(urllib.parse.urlencode(data))
		#如果对单个字符串编码
		print(urllib.parse.quote("hahaha你好啊!"))

输出格式为:
hahaha%E4%BD%A0%E5%A5%BD%E5%95%8A%EF%BC%81

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值