我在使用Unicode的Python中遇到了问题。我需要绘制一个带有Unicode注释的图形。根据tutorial我应该用Unicode创建字符串。我是这样做的:
annotation = u"%s has %s rev"%(art.title, len(art.revisions))
是art.title
中包含Unicode字符。有时代码工作,有时会出现以下错误:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 19: ordinal not in range(128)
我怎样才能修好它?
编辑: “注释”行后面有错误:
File "script.py", line 195, in test_trie
annotation = u"%s has %s rev"%(art.title, len(art.revisions))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 19: ordinal not in range(128)
有两个选项:要么使用
art.title.decode('utf_8')
,要么通过unicode(art.title, 'utf_8')
创建一个新的带UTF-8编码的Unicode字符串。我认为这取决于你的标题是否有unicode字符。
我会尝试添加
art.title.encode("utf-8")
或art.title.decode("utf-8")
,看看它是如何工作的相关问题 更多 >
编程相关推荐