我的周末项目有一个问题。我正在编写一个Python脚本,从不同的源获取一些数据,然后将所有内容吐出到esc-pos打印机。正如你可能想象的那样,pos打印机并不像emojis那样......
所以这样的文字:
可爱!!!!!!!!
给了我这个字符串:
'\u53ef\u7231!!!!!!!!\U0001f60d\U0001f60d\U0001f60d\U0001f60d\U0001f60d\U0001f60d\U0001f60d\U0001f61d'
打印机产生的结果与我想要的结果完全不同。所以我需要用其他东西替换这些非ASCII字符。我并不关心第一个角色,但我确实关心表情符号。使用像unidecode(str(text))
这样的东西至少会将它们剥离出来,但我想把它们转换成更有用的东西。要么像[:-D]这样的经典表情符号,要么进入[用心形眼睛微笑]。
我的问题是......怎么会这样做呢?手动为最常见的表情符号创建查找表似乎有点乏味,所以我想知道是否还有其他我可以做的事情。
答案 0 :(得分:2)
试试这个
import unicodedata
print( unicodedata.name(u'\U0001f60d'))
结果是
SMILING FACE WITH HEART-SHAPED EYES
答案 1 :(得分:0)
我遇到了同样的问题,并使用以下功能解决了该问题:
import demoji
def deEmojify(inputString):
return demoji.replace_with_desc(inputString.encode('utf-16', 'surrogatepass').decode('utf-16'))