我有一个.txt文件,其中的代码行如下:
b'Afrikaans'
b'\xe1\x8a\xa0\xe1\x88\x9b\xe1\x88\xad\xe1\x8a\x9b'
b'\xd0\x90\xd2\xa7\xd1\x81\xd1\x88\xd3\x99\xd0\xb0'如何将这些行转换为UTF-8字符串,以便输出如下所示:
Afrikaans
አማርኛ
Аҧсшәа我尝试过这样做,但只得到了与byte字面值相同的字符串:
with open("encoded.txt", "rb") as filename:
line = filename.readline().strip()
while line:
print(line.decode("utf-8"))
line = filename.readline().strip()发布于 2019-03-04 15:02:28
这些行是Python文字,因此ast.literal_eval可以将它们解析为Python字节字符串:
import ast
with open('data.txt') as f:
for line in f:
print(ast.literal_eval(line).decode('utf8'))输出:
Afrikaans
አማርኛ
Аҧсшәаhttps://stackoverflow.com/questions/54978072
复制相似问题