2014-09-28 122 views
2

表情符號圖標的檢測和計數已解決previously如何在字符串(python,perl)中查找表情符號,unicode字符和表情符號的文本描述?

作爲對這個問題的後續和所提供的解決方案,我想與鏈接檢測出的表情符號的能力,Unicode字符和表情符號爲它們相應的(文本)的描述進行擴展:

  • 表情符號(維基百科西歐和東歐,如List_of_emoticons)
  • Unicode字符(如U1F600.pdf可從Unicode網站(直接鏈接包含在上面提到的前一個計算器問題),
  • 其他的表情符號的類型,例如,從在Twitter上經常使用的表情符號列表(twitter-emoji-list from。) emojipedia網站)。

是否有任何全面的解決方案可用於在python或perl中進行這種翻譯,類似於Swift中實施的方法? 如果不是,你可以製作一個腳本,爲在字符串中找到的表情/表情符號提供文本描述嗎?

回答

7
使用 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 
+1

很高興知道,+1 – 2014-09-28 15:46:34

2

Python有與所有的Unicode字符數據的unicodedata導入模塊:

import unicodedata as ud 
s = '\U0001F604\U0001F600\U0001F608' 
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 
相關問題