使用python中的表情符号读取.txt

时间:2018-10-29 13:23:38

标签: python-3.x text iso-8859-1

我尝试读取其中带有笑脸的聊天记录,但出现以下错误:

UnicodeDecodeError:'charmap'编解码器无法解码位置38的字节0x9d:字符映射到

我的代码如下:

file_name = "chat_file.txt"
chat = open(chat_file)
chatText = chat.read() # read data
chat.close()
print(chatText)

我可以肯定这是由于诸如❤

如何实现正确的转换格式//什么是正确的文件编码,以便python可以读取这些元素?

1 个答案:

答案 0 :(得分:5)

从不打开文本文件而不指定其编码。

此外,使用with块,它们会自动调用.close(),因此您不必这样做。

file_name = "chat_file.txt"

with open(chat_file, encoding="utf8") as chat:
    chat_text = chat.read()

print(chat_text)

iso-8859-1是旧版编码,这意味着它不能包含表情符号。对于表情符号,文本文件必须为Unicode。 Unicode的最常见编码是UTF-8