Emoji表情编解码库XXL-EMOJI

《Emoji表情编解码库XXL-EMOJI》

Maven Central
GitHub release
License
donate

1、简介

1.1 概述

XXL-EMOJI 是一个灵活可扩展的Emoji表情编解码库,可快速实现Emoji表情的编解码.html

1.2 特性

  • 一、简洁:API直观简洁,一分钟上手;
  • 二、易扩展:模块化的结构,可轻松扩展;
  • 三、别名自定义:支持为Emoji自定义别名;
  • 四、实时性:实时收录最新发布的Emoji;

1.3 下载

文档地址

源码仓库地址

源码仓库地址 Release Download
https://github.com/xuxueli/xxl-emoji Download
https://gitee.com/xuxueli0323/xxl-emoji Download

技术交流

1.4 环境

  • JDK:1.7+

2、快速入门

第一步:引入Maven依赖

<dependency>
    <groupId>com.xuxueli</groupId>
    <artifactId>xxl-emoji</artifactId>
    <version>${最新稳定版}</version>
</dependency>

第二步:直接使用

引入Maven依赖,便可直接使用。java

可参考如下示例代码:git

String input = "一朵美丽的茉莉";
System.out.println("unicode:" + input);

// 一、alias:将Emoji表情转换为别名,而后还原;
String aliases = EmojiTool.encodeUnicode(input, EmojiEncode.ALIASES);
System.out.println("\naliases encode: " + aliases);
System.out.println("aliases decode: " + EmojiTool.decodeToUnicode(aliases));

// 二、html decimal:将Emoji表情Unicode数据转换为十进制数据,而后还原;
String decimal = EmojiTool.encodeUnicode(input, EmojiEncode.HTML_DECIMAL);
System.out.println("\ndecimal encode: " + decimal);
System.out.println("decimal decode: " + EmojiTool.decodeToUnicode(decimal));

// 三、html hex decimal:将Emoji表情Unicode数据转换为十六进制数据,而后还原;
String hexdecimal = EmojiTool.encodeUnicode(input, EmojiEncode.HTML_HEX_DECIMAL);
System.out.println("\nhexdecimal encode: " + hexdecimal);
System.out.println("hexdecimal decode: " + EmojiTool.decodeToUnicode(hexdecimal));

示例代码运行后,日志输入以下:github

aliases encode: 一朵美丽的茉莉:rose:
aliases decode: 一朵美丽的茉莉

decimal encode: 一朵美丽的茉莉&#127801;
decimal decode: 一朵美丽的茉莉

hexdecimal encode: 一朵美丽的茉莉&#x1f339;
hexdecimal decode: 一朵美丽的茉莉

3、整体设计

3.1 功能定位

XXL-EMOJI 是一个灵活可扩展的Emoji表情编解码库,可快速实现Emoji表情的编解码.api

3.2 Emoji编码类型

概念 说明
EmojiEncode.ALIASES 将Emoji表情转换为别名,格式为 ": alias :";
EmojiEncode.HTML_DECIMAL 将Emoji表情Unicode数据转换为十进制数据;
EmojiEncode.HTML_HEX_DECIMAL 将Emoji表情Unicode数据转换为十六进制数据;

3.三、Emoji编解码API

API 说明
public static String encodeUnicode(String input, EmojiTransformer transformer, FitzpatrickAction fitzpatrickAction) Emoji表情编码方法,支持自定义编码逻辑;
public static String encodeUnicode(String input, EmojiEncode emojiEncode, FitzpatrickAction fitzpatrickAction) Emoji表情编码方法,支持自定义编码类型;
public static String encodeUnicode(String input, EmojiEncode emojiEncode) Emoji表情编码方法,支持自定义编码类型;
public static String encodeUnicode(String input) Emoji表情编码方法,编码类型默认为 "ALIASES" ;
public static String decodeToUnicode(String input) Emoji表情解码方法,支持针对 "ALIASES、HTML_DECIMAL、HTML_HEX_DECIMAL" 等编码方式解码;
public static String removeEmojis(String input, final Collection emojisToRemove, final Collection emojisToKeep) 清除输入字符串中的Emoji数据;
public static List findEmojis(String input) 查找输入字符转中的所有Emoji数据列表;

3.四、自定义Emoji别名

app

4、版本更新日志

版本 V1.0.0,新特性[2018-07-06]

  • 一、简洁:API直观简洁,一分钟上手;
  • 二、易扩展:模块化的结构,可轻松扩展;
  • 三、别名自定义:支持为Emoji自定义别名;
  • 四、实时性:实时收录最新发布的Emoji;

版本 V1.0.1,新特性[迭代中]

TODO LIST

  • 一、Emoji远程编解码服务;

5、其余

5.1 项目贡献

欢迎参与项目贡献!好比提交PR修复一个bug,或者新建 Issue 讨论新特性或者变动。maven

5.2 用户接入登记

更多接入的公司,欢迎在 登记地址 登记,登记仅仅为了产品推广。模块化

5.3 开源协议和版权

产品开源免费,而且将持续提供免费的社区技术支持。我的或企业内部可自由的接入和使用。编码

  • Licensed under the GNU General Public License (GPL) v3.
  • Copyright (c) 2015-present, xuxueli.

捐赠

不管金额多少都足够表达您这份心意,很是感谢 :) 前往捐赠设计

相关文章
相关标签/搜索