Python:创建Unicode字符串

ash*_*him 10 python unicode

我在使用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)

Mak*_*nko 6

我认为这取决于你的标题是否具有unicode字符.

我会尝试添加art.title.encode("utf-8")art.title.decode("utf-8")查看它是如何工作的


Mak*_*oto 5

您有两个选择:使用art.title.decode('utf_8'),或使用 UTF-8 编码创建一个新的 Unicode 字符串unicode(art.title, 'utf_8')