Emoji表情编解码库XXL-EMOJI

《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: 一朵美丽的茉莉🌹
decimal decode: 一朵美丽的茉莉

hexdecimal encode: 一朵美丽的茉莉🌹
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.

捐赠

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

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

时间: 2024-10-28 22:54:22

Emoji表情编解码库XXL-EMOJI的相关文章

Windows系统下开源编解码库H.264与FFmpeg-2.8.2的编译与配置

一. 前言 FFmpeg是一个基于Linux开发的开源项目,其源代码和Windows下最常见的Visual Studio提供的C/C++编译器不兼容,因此它不支持MSVC++编译,需要在Windows下配置一个类似Linux的编译环境进行编译. 编译生成动态链接库dll,这些库将和其他的动态链接库一样在使用上没什么差别.可以使用MSVC++来链接这些库到其他的程序,也就是说,Windows + Visual Studio平台下的软件开发. 如果没有时间了解以下编译的过程,可直接下载以下链接的压缩

玩node-images模块---Node.js轻量级跨平台图像编解码库

Node.js轻量级跨平台图像编解码库 github:https://github.com/zhangyuanwei/node-images Features 功能特性 轻量级:无需安装任何图像处理库. 跨平台:Windows下发布了编译好的.node文件,下载就能用. 方便用:jQuery风格的API,简单可依赖. 我们可以通过这个插件做什么呢,常见的可以加水印,简单的放大缩小压缩处理等. 实例: //编码图片依赖模块https://github.com/zhangyuanwei/node-i

libavcodec是一款LGPL自由软件编解码库,用于视频和音频数据的编解码工作

http://zh.wikipedia.org/zh-cn/Libavcodec http://baike.baidu.com/view/856526.htm libavcodec是一款LGPL自由软件编解码库,用于视频和音频数据的编解码工作.带有这个名字的库有FFmpeg项目和Libav项目,但是它们却彼此不兼容. libavcodec是个集成了许多开源多媒体应用和框架.常见的MPlayer.xine和VLC媒体播放器都使用它作为它们的主要内置解码引擎,用于许多音频视频格式在所有支持的平台上的

iOS &#160;Emoji表情编码/解码

之前做弹幕的时候 遇到的表情编码解码问题 表情编码一般是使用unicode编码 ,编码之后的格式 \ud83d\ude18\ud83d\ude18world\u4e16\u754chaha\ud83d\ude17 //编码 NSString *uniStr = [NSString stringWithUTF8String:[_barrageText.text UTF8String]]; NSData *uniData = [uniStr dataUsingEncoding:NSNonLossyA

问题解决:FFmpeg视频编解码库,无法解析的外部信号

在编译FFmpeg相关项目时,可能会出现: error LNK2019: 无法解析的外部符号 "int __cdecl avpicture_fill(struct AVPicture *,unsigned char const *,enum AVPixelFormat,int,int)" (?avpicture_fill@@YAHPAUAVPicture@@PBEW4AVPixelFormat@@HH@Z),该符号在函数 "bool __cdecl YV12ToBGR24_F

微信emoji表情编码 、MySQL 存储 emoji 表情符号字符集

1.把 PHP 连接 MySQL 的字符集 由 utf8 改为 utf8mb4:ThinkPHP框架中,改下 配置文件 /ThinkPHP/Conf/convention.php 的 DB_CHARSET 为 utf8mb4 (默认为 utf8) 2.把 聊天记录表的 聊天内容字段的 字符集改为 utf8mb4_general_ci: 原文地址:https://www.cnblogs.com/gaocy/p/9559410.html

微信去除EMOJI表情

方法是: 方法是:return json_decode(preg_replace("#(\\\ue[0-9a-f]{3}|\\\ud83e|\\\udd14)#ie", "", json_encode($text))); 原理是: 进行微信公众号开发者接入的时候,与用户的对话互动中,涉及到的文本信息不仅仅是文字那么简单,其中可能还会包含着各种表情字符,例如「emoji表情」. 百科: Emoji 由于微信接口中对于emoji表情使用的是UTF-8的二进制字符串,并没

IOS Emoji表情

IOS Emoji 前言:我比较喜欢有趣的东西,有一些有趣的小东西,可能不是多么多么牛逼,也可能不需要多高深的技巧,也不会为其他什么强大的功能而服务,但是有时候将很多有趣的小东西组合起来运用,比如在你的app某个功能上适当添加这个有趣的小东西的时候,说不定就能起到锦上添花的作用,更能吸引用户.下面就粗略介绍IOS Emoji表情字符. 关于IOS Emoji我才刚刚了解,还有很多东西不是特别清楚,等待以后有时间深入探索更多的应用知识. 然后展示我之前运用到按钮上的一个案例,是不是有点意思: 这个

微信昵称emoji表情,特殊表情导致列表不显示,导出EXCEL报错等问题解决!

最近做的项目,上线后一切正常,过段时间管理员反馈用户导出EXCEL报错,前台获取用户列表不显示,查找问题找到是微信昵称.emoji表情导致报错, emoji表情介绍 由于微信接口中对于emoji表情使用的是UTF-8的二进制字符串,并没有解码,表现就是当收到微信端用户发来的emoji表情时,显示为一个方块型「」或是无法显示的字符,这时就需要对其进行转码. 每个emoji表情其实都有相应的unicode编码,在解析用户向公众号发送的文字中的emoji表情字符时,我们可以根据unicode码来匹配