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第三方库


热门话题
java ProcessBuilder在使用多个参数时运行不正常   java如何使用Spring数据ORM/JPA创建EntityManagerFactory?   将Velocity宏转换为Java指令   internet上的Java TCP/IP服务器客户端通信   java为什么JDK 8允许一个局部内部类(在方法内部)访问封闭方法的非最终局部变量?   基于Java的比率算法   java应用程序在选择列表首选项时出错   java保存对象以供以后使用   java如何使用MySQL JDBC驱动程序连接Android和MySQL   java Zipkin可以用于控制台应用程序   java单击刷新Servlet页面显示重复内容   java如何递归地反转字符串数组?   java如何使用inputStream作为outputStream的文本?   java扩展令牌选择操作符   java在映射中使用通用枚举类   arraylist如何使用JAVA流从对象列表中查找平均值   windows将FileInputStream和FileOutputStream传递给ffmpeg进行转码(使用JAVEJava音频视频编码)   java Ant脚本在执行CVS签出后找不到目标   重复值情况下的java插入排序,双链表ADT   java如何在Accumulo中获取数据库查询计数