不支持Python解码Unicode

时间:2011-10-03 12:04:05

标签: python encoding utf-8 character-encoding

我的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编码以避免此错误?

1 个答案:

答案 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}})相同的编码?