【问题标题】:Convert \u2764\ufe0f to UTF-8 using Python [closed]使用 Python 将 \u2764\ufe0f 转换为 UTF-8 [关闭]
【发布时间】: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


【解决方案1】:

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

【讨论】:

  • 明确地说,该字符串中有 2 个 Unicode 代码点。他们一起组成了红色的心。
  • 评论不用于扩展讨论;这个对话是moved to chat
猜你喜欢
  • 2019-08-15
  • 1970-01-01
  • 2013-05-20
  • 1970-01-01
  • 2011-01-16
  • 2015-09-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多