从数据库中读取我得到以下值
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
我将结束问题
答案 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'