python的emoji转换(unicode emoji<=>carrier的emoji)库(emoji4unicode项目包装库)

e4u的Python项目详细描述


e4u库是emoji4unicode的捆绑库

它用于处理Unicode表情符号和Carrier的表情符号。主要功能是

  • 将Unicode表情符号转换为运营商的表情符号
  • 将运营商的表情符号转换为Unicode表情符号

这个库可以处理的unicode emoji在http://www.unicode.org/~scherer/emoji4unicode/snapshot/full.html

这个库引用了emoji4unicode和django-bpmobile的源代码

安装

sudo pip install e4u

或:

sudo pip install git+git://github.com/lambdalisue/e4u.git#egg=e4u

必需(自动安装)

  • 美化组(用于分析运营商的网站和emoji4unicode.xml)

如何使用

这个库使用emoji4unicode.xml创建emoji的转换表。 所以您必须从文件系统或Internet加载它。e4u.load()方法 从google代码的主干url加载并推荐。如果无法连接 要上网,请使用e4u.load(file=r"some/path/emoji4unicode.xml")insted。这个 emoji4unicode.xml位于http://code.google.com/p/emoji4unicode/source/browse/trunk/data/emoji4unicode.xml

加载emoji4unicode.xml后,可以使用e4u.translate()方法翻译emoji。 要将carrier的emoji转换为unicode emoji,请使用^{tt8}这样的方法$ 要将Unicode表情符号转换为Carrier的表情符号,请使用contents = e4u.translate(contents, reverse=True, **e4u.DOCOMO_TRANSLATE_PROFILE)

下面的代码描述了如何使用库。

import e4u
e4u.load()
carrier_contents = "\xF8\x9F \xF8\xA0 \xF8\xA1"         # Sun, Cloud, Rain in DoCoMo emoji
unicode_contents = u"\u2600 \u2601 \u2614"                      # Sun, Cloud, Rain in Unicode emoji

# DoCoMo => Unicode
contents = carrier_contents
expected = unicode_contents
# Translate emoji with DoCoMo profile (= {'carrier':'docomo', 'encoding':'cp932'})
result = e4u.translate(contents, **e4u.DOCOMO_TRANSLATE_PROFILE)

assert isinstance(result, unicode)              # return value is Unicode
assert result == expected

# Unicode => DoCoMo
contents = unicode_contents
expected = carrier_contents
# Translate emoji with DoCoMo profile with reverse=True
result = e4u.translate(contents, reverse=True, **e4u.DOCOMO_TRANSLATE_PROFILE)

assert isinstance(result, unicode)              # return value is Unicode
assert result.encode('cp932', 'replace') == expected

支持的运营商

目前只支持DoCoMo、KDDI、软银和谷歌。您可以传递给的承运人名称 e4u.translate()方法是

  • 文本-到文本
  • docomo_img-使用docomo emoji标记img
  • kddi_img-使用kddi emoji标记img(建议用于不支持emoji的PC或其他设备)
  • 软银img-使用软银emoji的img标签(不推荐,软银可能拒绝外部访问,因此不起作用)
  • 谷歌到gmail的表情符号。我不知道怎么用,但以防万一。
  • 多科莫-多科莫·埃莫吉。sjis格式(解码为unicode)
  • kddi-到kddi emoji。sjis格式(解码为unicode)
  • 软银-软银表情符号。Unicode格式

方法

e4u.load(filename=None, url=r"http://emoji4unicode.googlecode.com/svn/trunk/data/emoji4unicode.xml", loader_class=loader.Loader)
加载emoji4unicode.xml并生成内部转换表。这种方法不会影响两次。使用e4u.reload()insted重新加载库。
e4u.reload(filename=None, url=r"http://emoji4unicode.googlecode.com/svn/trunk/data/emoji4unicode.xml", loader_class=loader.Loader)
强制重新加载emoji4unicode.xml,请使用e4u.load()方法insted以供一般使用。
e4u.has_loaded()

如果e4u.load()方法已调用,则返回true。使用e4u.load()方法insted以供一般使用。不要像下面这样:

# stupid way
import e4u
if not e4u.has_loaded():
    e4u.reload()

# smarter
import e4u
e4u.load()
e4u.get(id)
获取id的emoji符号实例。该id在http://www.unicode.org/~scherer/emoji4unicode/snapshot/full.html中描述 从“e-000”的ID(如“000”)中删除“e-”,并以Unicode格式传递。
e4u.translate(source, carrier, reverse=False, encoding=None)
将源代码中包含的Unicode表情符号转换为运营商的表情符号或相反的表情符号。
e4u.translate_char(source_char, carrier, reverse=False, encoding=None)
将Unicode表情符号转换为Carrier的表情符号。比^{tt7}快$ 方法,但无法处理文本。用于字母转换。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
mysql java语言非法参数异常?   java绘制控制流图   无法通过java eclipse中的ssh隧道远程连接到mysql数据库   直接在@SuppressWarnings之后出现java Eclipse错误(“未选中”)   java如何使用远程api google应用程序引擎api客户端?   工具栏中的java导航图标颜色未更改?   java返回带有映射子集的实体   java Spring重新加载属性Bean未更新   fileoutputstream正在获取java。木卫一。IOException:流关闭错误,但未显式关闭它   jsp标记显示java。时间使用jstl的LocalDateTime   java如何设置onFailure事件(Spring,Kafka)的超时?   将java元素添加到多个线程中的列表时,会跳过这些元素   JAVAutil。扫描程序Java读取空格后的整数值   java JMonkey过滤器着色器获取片段的世界位置   java从mongodb获取随机值   java如何使用Intent。标记\u活动\u清除\u顶部以清除活动堆栈?   多线程如何控制在多个端口上监听的java服务器应用程序   在具有复合键的相关实体之间插入数据时发生java Hibernate错误