Python:创建Unicode字符串

2024-05-14 01:12:15 发布

您现在位置:Python中文网/ 问答频道 /正文

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

Tags: inlentitle错误asciiunicoderevannotation
2条回答

有两个选项:要么使用art.title.decode('utf_8'),要么通过unicode(art.title, 'utf_8')创建一个新的带UTF-8编码的Unicode字符串。

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

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

相关问题 更多 >