我尝试读取其中带有笑脸的聊天记录,但出现以下错误:
UnicodeDecodeError:'charmap'编解码器无法解码位置38的字节0x9d:字符映射到
我的代码如下:
file_name = "chat_file.txt"
chat = open(chat_file)
chatText = chat.read() # read data
chat.close()
print(chatText)
我可以肯定这是由于诸如❤
如何实现正确的转换格式//什么是正确的文件编码,以便python可以读取这些元素?
答案 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
。