我在使用Unicode的Python中遇到了问题.我需要在其中绘制带有Unicode注释的图形.根据教程我应该用Unicode创建我的字符串.我是这样做的:
annotation = u"%s has %s rev"%(art.title, len(art.revisions))
Run Code Online (Sandbox Code Playgroud)
它art.title有Unicode字符.有时代码有效,有时会给我以下错误:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 19: ordinal not in range(128)
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
编辑:我在"注释"行后完全有错误:
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)
Run Code Online (Sandbox Code Playgroud)
我认为这取决于你的标题是否具有unicode字符.
我会尝试添加art.title.encode("utf-8")或art.title.decode("utf-8")查看它是如何工作的
您有两个选择:使用art.title.decode('utf_8'),或使用 UTF-8 编码创建一个新的 Unicode 字符串unicode(art.title, 'utf_8')。