UnicodeEncodeError:'ascii'编解码器无法编码字符u'\ u2029'

时间:2013-10-12 19:02:40

标签: python qt pyqt

当我尝试将QString转换为常规python字符串时,我收到此错误:

UnicodeEncodeError: 'ascii' codec can't encode character u'\u2029' in position 3: ordeal not in range(128)

我所做的就是:

str(string)

string是QString,但它然后给了我那个错误。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

Python 2.x中的名称str具有误导性;由于历史原因,str is bytes - 一串字节而不是字符。如果您尝试将字符串转换为字节字符串,Python默认使用ASCII。只需使用unicode(string)在Python 2.x下获取字符串,或切换到3.x,其中str实际上是字符串类型。