我很难理解编码的工作原理:
为什么python代码中的字符串可以编码:
s = 'Au\xc3\x9fenformat\n'
print s.encode('utf-8')
>>>Außenformnat
但如果我从文本文件中读取这样的字符串,我会得到:
f = open('out.txt', 'r')
data = f.read()
print data.encode('utf-8')
>>>Au\xc3\x9fenformat\n
有什么建议吗?
答案 0 :(得分:3)
试试这个,您应该看到正确打印的文件内容:
f = open('out.txt', 'r')
data = f.read()
print data.decode('string_escape')
这是因为文件的txt中的反斜杠正在转义:
>>> open('out.txt').read()
'Au\\xc3\\x9fenformat\\n\n'
答案 1 :(得分:0)
>>> f = open('out.txt', 'r')
>>> data= f.read()
>>> print data.decode("string_escape")
ußenformat