在 python 中将表情符号 unicode 转换为文本
convert emoji unicode to TEXT in python
我在 python (yowsup) 中创建了一个应用程序,我在我的机器人中收到文本和表情符号...
我设法得到了 😀转换为“\U0001F600”代码...
现在我需要将 u"\U0001F600" 转换为 :grinning: TEXT 或 GRINNING FACE
从此页面获得了一些资源....
http://www.fileformat.info/info/unicode/char/1F600/index.htm
@signals.message_received.connect
def handle(message):
#message.log() to see message object properties
#print(message.log())
params = {}
params_upload = {}
zapsend_host = config.config_variables['zapsend_host']
zapsend_port = config.config_variables['zapsend_port']
# CASE TEXT-MESSAGE AND NOT GROUP
if helper.is_text_message(message.message_entity) and helper.isGroupJid(message.conversation) == False:
#converted here....
params['msg'] = message.text.encode('unicode_escape')
params['number'] = message.conversation
params['whatsapp']= config.config_variables['user']
params['media'] = 'text'
params['caption'] = ''
params['name'] = message.who_name
database_helper.sync_contacts(message.conversation, message.who_name)
database_helper.save_message_receive(params, message)
print("MSG FROM CLIENT: "+ message.conversation +" => " + params['msg'])
requests_helper.request_get(zapsend_host, zapsend_port,'zapsend',params)
试试这个:
s = u'\U0001f600'
from emoji.unicode_codes import UNICODE_EMOJI
print UNICODE_EMOJI[s]
>:grinning_face:
这假设您已安装表情符号模块
@sealabr 检查一下。
import emoji
print(emoji.demojize('Python is '))
>>Python is :thumbs_up:
这种方法将同时处理:
- 表情符号:
- 表情符号::-)); 8‑D
使用 emot 库和一些文本操作:
使用 flashtext 因为它比正则表达式要快得多,可以精确查找字符串 and/or replace.
from emot.emo_unicode import UNICODE_EMOJI, UNICODE_EMOJI_ALIAS, EMOTICONS_EMO
from flashtext import KeywordProcessor
## formatting
all_emoji_emoticons = {**EMOTICONS_EMO,**UNICODE_EMOJI_ALIAS, **UNICODE_EMOJI_ALIAS}
all_emoji_emoticons = {k:v.replace(":","").replace("_"," ").strip() for k,v in all_emoji_emoticons.items()}
kp_all_emoji_emoticons = KeywordProcessor()
for k,v in all_emoji_emoticons.items():
kp_all_emoji_emoticons.add_keyword(k, v)
kp_all_emoji_emoticons.replace_keywords('I am an hehe :-)). Lets try another one . It seems ')
#output==> 'I am an alien hehe Very happy. Lets try another one astonished. It seems ok hand'
我在 python (yowsup) 中创建了一个应用程序,我在我的机器人中收到文本和表情符号... 我设法得到了 😀转换为“\U0001F600”代码...
现在我需要将 u"\U0001F600" 转换为 :grinning: TEXT 或 GRINNING FACE
从此页面获得了一些资源.... http://www.fileformat.info/info/unicode/char/1F600/index.htm
@signals.message_received.connect
def handle(message):
#message.log() to see message object properties
#print(message.log())
params = {}
params_upload = {}
zapsend_host = config.config_variables['zapsend_host']
zapsend_port = config.config_variables['zapsend_port']
# CASE TEXT-MESSAGE AND NOT GROUP
if helper.is_text_message(message.message_entity) and helper.isGroupJid(message.conversation) == False:
#converted here....
params['msg'] = message.text.encode('unicode_escape')
params['number'] = message.conversation
params['whatsapp']= config.config_variables['user']
params['media'] = 'text'
params['caption'] = ''
params['name'] = message.who_name
database_helper.sync_contacts(message.conversation, message.who_name)
database_helper.save_message_receive(params, message)
print("MSG FROM CLIENT: "+ message.conversation +" => " + params['msg'])
requests_helper.request_get(zapsend_host, zapsend_port,'zapsend',params)
试试这个:
s = u'\U0001f600'
from emoji.unicode_codes import UNICODE_EMOJI
print UNICODE_EMOJI[s]
>:grinning_face:
这假设您已安装表情符号模块
@sealabr 检查一下。
import emoji
print(emoji.demojize('Python is '))
>>Python is :thumbs_up:
这种方法将同时处理:
- 表情符号:
- 表情符号::-)); 8‑D
使用 emot 库和一些文本操作: 使用 flashtext 因为它比正则表达式要快得多,可以精确查找字符串 and/or replace.
from emot.emo_unicode import UNICODE_EMOJI, UNICODE_EMOJI_ALIAS, EMOTICONS_EMO
from flashtext import KeywordProcessor
## formatting
all_emoji_emoticons = {**EMOTICONS_EMO,**UNICODE_EMOJI_ALIAS, **UNICODE_EMOJI_ALIAS}
all_emoji_emoticons = {k:v.replace(":","").replace("_"," ").strip() for k,v in all_emoji_emoticons.items()}
kp_all_emoji_emoticons = KeywordProcessor()
for k,v in all_emoji_emoticons.items():
kp_all_emoji_emoticons.add_keyword(k, v)
kp_all_emoji_emoticons.replace_keywords('I am an hehe :-)). Lets try another one . It seems ')
#output==> 'I am an alien hehe Very happy. Lets try another one astonished. It seems ok hand'