试图打印度(°)符号如何添加到字符串度的符号
t = chr(176).encode('ascii')
qp.drawText(QtCore.QPoint(50, 45), str(self.setText))
print t
,但得到的错误
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 0: ordinal not in range(128)
我尝试添加# - - 编码:UTF-8 - - 在文件顶部,但没有运气。 P.S.我试图找出谷歌,但不为我工作。
编辑: 为@Achilles说:
t = u"\u00b0"
qp.drawText(QtCore.QPoint(50, 45), str(self.setText)+t)
谢谢
始终添加有问题的完整的错误信息(追踪) - 有信息哪行产生问题 - 'encode()'或'print'? – furas
你尝试过没有'encode'吗? – furas
您的第一次尝试失败是因为您要向您的字符串**添加Unicode字符,但是**指定了您想要的ASCII表示 - 这是一个错误。您的第二次尝试失败是因为您向字符串**添加了字符,但是您要求将其编码为UTF8。考虑不要告诉字符串函数要做什么。 – usr2564301