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.

捐贈

不管金額多少都足夠表達您這份心意,很是感謝 :) 前往捐贈設計

相關文章
相關標籤/搜索