Emoji表情编解码库XXL-EMOJI

XXL-EMOJI是一款高效、灵活且易于扩展的Emoji表情编解码库,支持Emoji表情的多种编解码方式,并能够实时收录最新的Emoji表情。该库提供简洁直观的API,方便开发者快速实现Emoji表情处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

Maven Central GitHub release License donate

一、简介

1.1 概述

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

1.2 特性

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

1.3 下载

文档地址
源码仓库地址
源码仓库地址Release Download
https://github.com/xuxueli/xxl-emojiDownload
https://gitee.com/xuxueli0323/xxl-emojiDownload
技术交流

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> emojisToRemove, final Collection<Emoji> emojisToKeep)清除输入字符串中的Emoji数据;
public static List<String> findEmojis(String input)查找输入字符转中的全部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.

捐赠

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

转载于:https://my.oschina.net/xuxueli/blog/1841691

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值