尝试打印QString时出现Python编码错误

时间:2014-02-02 13:14:01

标签: python qstring python-unicode

我尝试打印PyQt4.QtCore.QString对象:

print str(type(html))
print str(html)

但是,我收到以下错误:

<class 'PyQt4.QtCore.QString'>
Traceback (most recent call last):
  File "download.py", line 23, in <module>
    print str(html)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2039' in position 4165: ordinal not in range(128)

这里出了什么问题?

2 个答案:

答案 0 :(得分:0)

可以使用

print unicode(html)

答案 1 :(得分:0)

在python 2.x str中返回ascii字符串。因此,如果输入中有unicode字符,则无法转换。 unicode函数会为您提供服务。

如果您使用例如python 3.3,str函数将具有encoding参数,默认情况下为utf8。因此,您不会看到错误。

查看here了解更多信息。