【发布时间】:2021-02-18 10:42:14
【问题描述】:
我从 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”编码。
【问题讨论】:
-
这是python脚本中的字符串吗?那么它已经可以了。
print("\u2764\ufe0f")应该没问题。您也可以只使用源print("❤️")中的表情符号。 -
看起来已经解码了。投票结束,因为不清楚你在问什么..
-
问题是问那是什么编码,但很明显它根本不是编码。如果你得到的是 text 而不是 bytes 则内容已经被解码(可能由你的 API 客户端)。 UTF-8 是另一种编码,貌似和这个问题无关。
-
您认为为什么需要这样做?如果您认为 UTF-8 转换可以帮助您将此表情符号显示为表情符号,那么它不会。
-
然后重新组合并从头开始解决这个问题,JSON编码不是它。
标签: python python-3.x utf-8 emoji vader