码迷,mamicode.com
首页 > 其他好文 > 详细

Emoji表情编解码库XXL-EMOJI

时间:2018-07-06 22:36:20      阅读:372      评论:0      收藏:0      [点我收藏+]

标签:end   方法   licensed   服务   快速   out   depend   int   版权   

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

技术分享图片
技术分享图片
技术分享图片
技术分享图片

一、简介

1.1 概述

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

1.2 特性

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

1.3 下载

文档地址

源码仓库地址

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

技术交流

1.4 环境

  • JDK:1.7+

二、快速入门

第一步:引入Maven依赖

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

第二步:直接使用

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

可参考以下示例代码:

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

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

// 2、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));

// 3、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));
        

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

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

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

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

三、总体设计

3.1 功能定位

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

3.2 Emoji编码类型

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

3.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 清除输入字符串中的Emoji数据;
public static List 查找输入字符转中的全部Emoji数据列表;

3.4、自定义Emoji别名

四、版本更新日志

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

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

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

TODO LIST

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

五、其他

5.1 项目贡献

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

5.2 用户接入登记

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

5.3 开源协议和版权

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

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

捐赠

无论金额多少都足够表达您这份心意,非常感谢 :) 前往捐赠

Emoji表情编解码库XXL-EMOJI

标签:end   方法   licensed   服务   快速   out   depend   int   版权   

原文地址:https://www.cnblogs.com/xuxueli/p/9275666.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!