打印我以字节格式打开的unicode字符串时遇到麻烦

时间:2018-04-22 14:19:12

标签: python byte python-unicode

从数据库中读取我得到以下值

b'd\xe2\x80\x99int'

如何打印它以获取字符串d’int(请注意,这与d'int不同)?

我尝试使用print(b'd\xe2\x80\x99int'.decode('utf-8')),但我收到错误:

UnicodeEncodeError: 'ascii' codec can't encode character '\u2019' in position 1: ordinal not in range(128)
编辑:感谢评论我理解问题不在我的Python代码中,而在emacs中,我遇到了与此处描述的问题完全相同的问题Unicode conversion issue using Python in Emacs

我将结束问题

1 个答案:

答案 0 :(得分:0)

您可以使用bytes.decode()

>>> bytes.decode(b'd\xe2\x80\x99int', 'utf8')
'd’int'

或类似地,字节对象本身的.decode()方法:

>>> b'd\xe2\x80\x99int'.decode('utf-8')
'd’int'