推薦,Java Emoji Converter(Emoji表情轉換工具)
阿新 • • 發佈:2019-02-17
當Emoji表情字元儲存有問題,或者遇到儲存字串到資料庫裡出現\xF0\x9F\x92\x94類似問題時,請嘗試使用這個工具。
什麼工具呢?
可以將Emoji表情(
)轉義成沉默王二😊
這樣的。
那,該怎麼使用這款工具呢?
首先,在pom.xml檔案中引入jar包:
<dependency>
<groupId>com.github.binarywang</groupId>
<artifactId>java-emoji-converter</artifactId>
<version> 0.1.1</version>
</dependency>
然後,在Java類中宣告一個EmojiConverter,如下:
private EmojiConverter emojiConverter = EmojiConverter.getInstance();
使用方法也非常簡單,如下:
String str = " An ����awesome ����string with a few ����emojis!";
String alias = this.emojiConverter.toAlias(str);
String html = this.emojiConverter.toHtml(str);
toAlias將Emoji轉義為關鍵字,類似:xiao:
。
toHtml將Emoji轉義為unicode,類似🙆
。
可以直接將toHtml轉換後的字串儲存到資料庫,顯示的時候,就直接顯示,不需要再轉義,HTML是支援的。整體程式碼例項如下:
package com.comwer;
import com.github.binarywang.java.emoji.EmojiConverter;
import junit.framework.Assert;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
/**
* Unit test for simple App.
*/
public class AppTest extends TestCase {
private EmojiConverter emojiConverter = EmojiConverter.getInstance();
/**
* Create the test case
*
* @param testName
* name of the test case
*/
public AppTest(String testName) {
super(testName);
}
/**
* @return the suite of tests being tested
*/
public static Test suite() {
return new TestSuite(AppTest.class);
}
/**
* Rigourous Test :-)
*/
public void testApp() {
String str = " An ����awesome ����string with a few ����emojis!";
String alias = this.emojiConverter.toAlias(str);
String html = this.emojiConverter.toHtml(str);
System.out.println(str);
System.out.println(html);
System.out.println("EmojiConverterTest.testToAlias()=====>");
System.out.println(alias);
Assert.assertEquals(
":no_good: :ok_woman: :couple_with_heart:An :smiley::grinning:awesome :smiley::smiley:string with a few :smiley::wink:emojis!",
alias);
assertTrue(true);
}
}
這種方法的最大好處就是資料庫的編碼還是utf-8,而不必改成utf8mb4。強烈推薦。
最近正在讀明朝那些事兒(第一冊——從乞丐和尚到皇帝),恨不得一天把書讀完!做皇帝很美,但朱元璋也太能殺人了。亂世的老百姓還是很可憐的。