解码Python字符串

时间:2013-04-22 14:51:27

标签: python string sqlite encoding

我很难理解编码的工作原理:

为什么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

有什么建议吗?

2 个答案:

答案 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