读取十六进制字符并使用python 3将它们转换为utf-8

时间:2014-12-15 21:34:45

标签: python utf-8

我有一个包含此字符串的文件data.txt:

M\xc3\xbchle\x0astra\xc3\x9fe

现在需要读取文件,十六进制代码解释为utf-8。

到目前为止,这是我的尝试:

#!/usr/bin/python3

import os
import sys

with open("data.txt") as f:
    for line in f.readlines():
        print( bytes(line, 'utf-8').decode("unicode_escape"))

输出转换换行符(\ x0a),但不能使用多字节utf-8字符:

Mühle
straÃe

1 个答案:

答案 0 :(得分:2)

尝试

line = line.decode('unicode_escape').encode('latin-1').decode('utf8')