使用Python将\ u2764 \ ufe0f转换为UTF-8

问题描述

我从API接收json数据:

json = {"lat": null,"body_text": "@edinburgh \u2764\ufe0f","deduplicated_time": "2020-11-05T15:38:11.744710"}

我使用Python加载json消息。

msg_body = json.loads(msg.body,strict=False)

我使用VaderSentiment从json消息的body_text部分的文本中提取情感。

问题在于,当文本中的\ u2764 \ ufe0f包含红色心形❤表情符号时,Vader无法预测正确的情绪。他们在他们的页面上建议vader正在翻译utf-8编码的表情符号,例如?,?和?。我相信\ u2764 \ ufe0f不是UTF-8,如何使用python将其转换为UTF-8?

如果下面的页面emoji是正确的,则\ u2764 \ ufe0f是“ python src”编码。

解决方法

这是JSON编码的Unicode字符。解码JSON,例如json.loads,您会得到一个红色的Python字符串。 如果您需要将其编码为UTF-8编码的bytes,请使用str.encode(尽管您想使用它的库可能需要普通的Python str s。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...