我的Python编码问题。我尝试了不同的方法,但我似乎无法找到将输出编码为UTF-8的最佳方法。
这就是我想要做的事情:
result = unicode(google.searchGoogle(param), "utf-8").encode("utf-8")
searchGoogle
会返回param
的第一个Google结果。
这是我得到的错误:
exceptions.TypeError: decoding Unicode is not supported
有谁知道我如何使用UTF-8对我的输出进行Python编码以避免此错误?
答案 0 :(得分:95)
看起来google.searchGoogle(param)
已经返回unicode
:
>>> unicode(u'foo', 'utf-8')
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
unicode(u'foo', 'utf-8')
TypeError: decoding Unicode is not supported
所以你想要的是:
result = google.searchGoogle(param).encode("utf-8")
作为旁注,您的代码希望它返回一个utf-8
编码的字符串,以便解码它(使用unicode()
)并使用.encode()
编码回来(使用{{1}})相同的编码?