Python3 如何对url解码?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python3 如何对url解码?相关的知识,希望对你有一定的参考价值。
参考技术Aurl编码:
import urllib
url = 'http://test.com/s?wd=哈哈' #如果此网站编码是gbk的话,需要进行解码,从gbk解码成unicode,再从Unicode编码编码为utf-8格式。
url = url.decode('gbk', 'replace')
print urllib.quote(url.encode('utf-8', 'replace'))
参考资料
Python3 如何对url解码?.CSDN博客[引用时间2018-1-1]
如何在python中对西班牙语进行编码和解码
【中文标题】如何在python中对西班牙语进行编码和解码【英文标题】:How to encode and decode from spanish in python 【发布时间】:2014-01-22 23:34:38 【问题描述】:我有以下用 python 2.7 编写的代码
# -*- coding: utf-8 -*-
import sys
_string = "años luz detrás"
print _string.encode("utf-8")
这会引发以下错误:
print _string.encode("utf-8")
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 1: ordinal not in range(128)
任何帮助表示赞赏,在此先感谢
【问题讨论】:
你不需要使用encode,只尝试"print _string" Python - 'ascii' codec can't decode byte的可能重复 【参考方案1】:在 Python 2 中,字符串文字 ""
创建一个字节串。然后你在一个字节串上调用.encode("utf-8")
,在执行.encode("utf-8")
之前,Python首先尝试使用默认字符编码(ascii
)将其解码为Unicode字符串。
u""
创建 Unicode 字符串。它将 UnicodeDecodeError 修复为@Bleeding Fingers suggested。
# -*- coding: utf-8 -*-
print u"años luz detrás"
如果标准输出被重定向,它可能会导致UnicodeEncodeError
。在这种情况下设置PYTHONIOENCODING
环境变量。
【讨论】:
【参考方案2】:在"
之前添加u
>>> _string = u"años luz detrás"
>>> print _string.encode("utf-8")
años luz detrás
这样就可以了。
【讨论】:
以上是关于Python3 如何对url解码?的主要内容,如果未能解决你的问题,请参考以下文章