首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python不读取unicode U+ FE0F

Python不读取unicode U+ FE0F
EN

Stack Overflow用户
提问于 2019-11-14 02:25:18
回答 1查看 279关注 0票数 0

假设我将一个WhatsApp聊天导出为.txt,然后用python读取它。对于包含\uFE0F的表情符号,python似乎无法读取正确的unicode组合。例如,彩虹旗表情符号是U+1F3F3 U+FE0F U+200D U+1F308?️‍?。但是,如果我使用python读取文件,使用下面的代码,则标志表情符读作\U0001f3f3\u200d\U0001f308。我的代码有问题吗?WhatsApp导出的文件是否不正确?或者,这是不是还有其他原因导致这种行为呢?

我想写一个在聊天中查找所有表情符号的程序,但是\U0001f3f3\u200d\U0001f308不是现有的表情符号,所以我现在收到一个错误...

代码语言:javascript
复制
def showchat():
    f = open("MyChat.txt", "r")
    lines = f.readlines()
    for l in lines:
        print(l)
        print(str(l.encode('unicode-escape')))
    f.close()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-14 03:49:05

看起来WhatsApp以UTF-8格式导出他们的文件。因此,在open文件时必须设置编码:

代码语言:javascript
复制
f = open("MyChat.txt", "r", encoding="utf-8")

您的Python安装可能已经默认为UTF-8,因为您的程序在尝试读取文件时没有收到错误。由于'\ufe0f'是不代表实际字符的特殊Unicode代码点,因此WhatsApp可能无法正确导出它。您需要对该文件进行十六进制转储,以确定其实际包含的内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58843350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档