解开 Facebook 反应编码?

问题描述 投票:0回答:1

我已经下载了 JSON 格式的 Facebook 数据,并希望对其进行分析。它包含如下部分:

{
          "reaction": "\u00e2\u009d\u00a4",
          "actor": "..."
},

这里的反应是一颗心。然而,如果我用 Python 打印它,显然它只是那些 unicode 字符 (â¤),而不是心形。

有谁知道是否有某个地方包含 Facebook 的所有反应编码?

python facebook unicode emoji
1个回答
0
投票

心形表情符号字符在 Unicode 中编码为 U+2764。在 UTF-8 编码形式中,该字符将表示为三个字节的序列,

0xE2 0x9D 0xA4

Facebook 混淆了 UTF-8 编码形式和 Unicode 代码点。由于它使用

\uxxxx
格式转义字符,因此应将其表示为
\u2764
。但相反,在格式化转义序列时,它(错误地)采用 UTF-8 字节序列并重新解释每个字节,就好像它是一个完整的字符一样。

(不幸的是,仍然有太多产品在处理 UTF-8 编码字符串时犯类似的错误。例如,当显示来自流媒体服务的音乐曲目详细信息时,我在车中看到过这种情况。每当您看到两个垃圾序列时,来自 Unicode Latin-1 Suplement block 的三个或四个字符,这就是正在发生的事情。)

您可以在 https://emojipedia.org/facebook 找到有关 Facebook 反应和(最近的)对应 Unicode 表情符号字符的信息。

© www.soinside.com 2019 - 2024. All rights reserved.