我想从 python(3) src 打印表情符号
我正在从事一个分析 Facebook Message histories 的项目在下载的原始htm数据文件中,我发现很多表情符号显示为带有问号的框,就像无法显示值时一样。如果我将这些符号作为字符串复制粘贴到终端,我会得到类似 \U000fe328
的值。 .这也是我通过 BeautifulSoup 运行 htm 文件并输出数据时得到的输出。
我在谷歌上搜索了这个字符串(和其他字符串),在上面的字符串 this page 的情况下,iemoji.com 始终是唯一提供它们的网站之一。 ,将字符串列为 Python Src。我希望能够将这些字符串作为相应的表情符号打印出来(毕竟,它们在收到消息时最初是表情符号),环顾四周后我发现了 src 编码的映射 at this page ,将上面的 like 字符串映射到表情符号字符串名称。然后我找到了this emoji string names to Unicode列表,在大多数情况下,它似乎将表情符号名称映射到 Unicode。如果我尝试打印出这些值,我会得到很好的输出。喜欢关注
>>> print(u'\U0001F624')
😤
有没有办法将这些“Python src”编码映射到它们的 unicode 值?如果不是因为原始 src 映射丢失了在 unicode 库中找到的大约 50% 的 unicode 值,那么将这两个库链接在一起是可行的。如果我最终不得不这样做,是否有找到给定表情符号的 Python Src 值的好方法?从我测试的表情符号来看,字符串等于它们的 Unicode,例如 '😤' == u'\U0001F624'
, 但我似乎无法与 \U000fe328
建立任何关系
最佳答案
这与 Python 无关。像 \U000fe328
这样的转义符只包含代码点的十六进制表示,所以这个是 U+0FE328
(这是一个私有(private)字符)。
现在很多表情符号都分配给代码点,例如。 😤 是 U+01F624 — 胜利的表情
。
在分配这些之前,各种程序使用了 private use ranges 中的各种代码点。代表表情符号。 Facebook 显然使用了私有(private)字符 U+0FE328
。从这些代码点到标准代码点的映射是任意的。其中一些可能根本没有标准的等价物。
因此,您需要查找的是一个表格,它告诉您这些旧分配中的哪些对应于哪个标准代码点。
有 php-emoji在 GitHub 上,它似乎包含这些映射。但请注意,这是 PHP 代码,字符以 UTF-8 表示(例如,上面的字符将是 "\xf3\xbe\x8c\xa8"
)。
关于Emojis的Python3 src编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38780324/