如何在字符串中找到表情符号、unicode字符和表情符号的文本描述(python,perl)



表情图标的检测和计数以前已经解决过。

作为这个问题和所提供的解决方案的后续行动,我想扩展它的功能,将检测到的表情符号、unicode字符和表情符号链接到它们对应的(文本)描述:

  • 表情符号(西方和东方,例如来自维基百科的List_of_memoticons)
  • unicode字符(例如,可从unicode网站获得的U1F600.pdf(直接链接包含在前面提到的stackoverflow问题中)
  • 其他表情符号类型,例如来自Twitter中经常使用的表情符号列表(来自emojipedia网站的Twitter-emoji-list)

有没有任何全面的解决方案可以用python或perl进行这样的翻译,类似于Swift中实现的方法?如果不能,你能制作一个脚本,为字符串中的表情符号/表情符号提供文本描述吗?

使用charnames的perl示例:

use 5.014;
use strict;
use warnings;
use utf8;
use open qw(:std :utf8);
use charnames ':full';
my @faces = split //, '😄😀😈';
for (@faces) {
    say sprintf "U+%05X %s %s",
        ord($_), $_, charnames::viacode(ord($_));
}

打印

U+1F604 😄 SMILING FACE WITH OPEN MOUTH AND SMILING EYES
U+1F600 😀 GRINNING FACE
U+1F608 😈 SMILING FACE WITH HORNS

Python有unicodedata导入模块,其中包含所有Unicode字符的数据:

import unicodedata as ud
s = 'U0001F604U0001F600U0001F608'
for c in s:
    print('{} U+{:5X} {}'.format(c,ord(c),ud.name(c)))

输出:

😄 U+1F604 SMILING FACE WITH OPEN MOUTH AND SMILING EYES
😀 U+1F600 GRINNING FACE
😈 U+1F608 SMILING FACE WITH HORNS

最新更新