Emojis的Python3 src编码

标签 python string unicode encoding

我想从 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/

相关文章:

python - 如何从列表中选择 Selenium 中的项目?

python - 将 pdb 与替代 Python 安装一起使用

java - 在字符串中使用正则表达式而不是 contains() 渲染速度较慢

c# - 我应该在 C# 中将 XML 生成为字符串吗?

python - 如何确定子字符串是否在不同的字符串中

c++ - 如何使用 Qt 打印 unicode 字符?

php - PHP/MySQL 仅部分支持 Unicode 字符?

python - 什么代表 Python 中 print/repr 上显示的十六进制整数?

python - Pandas dataframe - 将列值转换为单独的列

在 Windows 上使用 C 中的 WideCharToMultiByte 将 UTF-16 转换为 UTF-8