【发布时间】:2014-12-06 07:45:21
【问题描述】:
我有一个形式的字符串:
s = '\\xe2\\x99\\xac'
我想通过评估转义序列将其转换为字符 ♬。但是,我尝试过的所有操作都会导致错误或打印出垃圾。如何强制 Python 将转义序列转换为文字 unicode 字符?
我在其他地方读到的内容表明以下代码行应该做我想要的,但它会导致 UnicodeEncodeError。
print(bytes(s, 'utf-8').decode('unicode-escape'))
我也尝试了以下方法,结果相同:
import codecs
print(codecs.getdecoder('unicode_escape')(s)[0])
这两种方法都会产生字符串 'â\x99¬',而 print 随后无法处理。
如果有任何不同,则从 UTF-8 编码文件中读取字符串,并在处理后最终输出到不同的 UTF-8 编码文件。
【问题讨论】:
标签: python string python-3.x unicode utf-8