Python 从不同字符长度的 twitter 推文中抓取的表情符号的统一代码
Python Uni code For Emojis scraped from twitter tweet with different character length
我正在尝试 抓取 来自 Twitter 的一些推文,其中一些推文包含带有 unicode \u1f973 的表情符号,所以 python 解释为 \u1f97 将其转换为对应的字符,原样指向 3。这看起来非常好。
但是,这段代码的实际值应该是 \U0001f973,它会给我准确的表情符号。
我不能在上面使用 .replace 函数。
我的字符串编码为 utf-8
我也知道,每当代码以 \u1f 开头时,我都需要替换它。
没有可显示的代码。但是如果有人想测试它。
试试这个字符串
X = " Hello World \u1f973"
它将打印
Hello World ᾗ3
我要的是
X = X.replace("\u","\U000")
X = Hello World \U0001f973
Twitter 上有问题的表情符号是 .svg 文件,它提供这种类型的 5 位长度的 unicode。休息所有带有 \uxxxx 的表情符号,正常的 unicode 长度代码工作得很好。
我确定有更好的答案 - 但这个示例 'oh so ugly' 代码可以解决问题(如果 unicode 字符串是各种字符长度,您可能必须在 replace() 中执行 zfill 来填充其他超过 5 个字节的长度):
'Convert my emoji \u1f973'.encode('unicode_escape').decode('utf-8').replace('\u', '\U000').encode('latin-1').decode('unicode-escape')
'Convert my emoji '
我正在尝试 抓取 来自 Twitter 的一些推文,其中一些推文包含带有 unicode \u1f973 的表情符号,所以 python 解释为 \u1f97 将其转换为对应的字符,原样指向 3。这看起来非常好。 但是,这段代码的实际值应该是 \U0001f973,它会给我准确的表情符号。 我不能在上面使用 .replace 函数。
我的字符串编码为 utf-8
我也知道,每当代码以 \u1f 开头时,我都需要替换它。 没有可显示的代码。但是如果有人想测试它。 试试这个字符串
X = " Hello World \u1f973"
它将打印
Hello World ᾗ3
我要的是
X = X.replace("\u","\U000")
X = Hello World \U0001f973
Twitter 上有问题的表情符号是 .svg 文件,它提供这种类型的 5 位长度的 unicode。休息所有带有 \uxxxx 的表情符号,正常的 unicode 长度代码工作得很好。
我确定有更好的答案 - 但这个示例 'oh so ugly' 代码可以解决问题(如果 unicode 字符串是各种字符长度,您可能必须在 replace() 中执行 zfill 来填充其他超过 5 个字节的长度):
'Convert my emoji \u1f973'.encode('unicode_escape').decode('utf-8').replace('\u', '\U000').encode('latin-1').decode('unicode-escape')
'Convert my emoji '