问题描述
我从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。