推荐,Java Emoji Converter(Emoji表情转换工具)-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

推荐,Java Emoji Converter(Emoji表情转换工具)

简介: 版权声明:欢迎转载,请注明沉默王二原创。 https://blog.csdn.net/qing_gee/article/details/80097901 当Emoji表情字符存储有问题,或者遇到保存字符串到数据库里出现\xF0\x9F\x92\x94类似问题时,请尝试使用这个工具。
版权声明:欢迎转载,请注明沉默王二原创。 https://blog.csdn.net/qing_gee/article/details/80097901

当Emoji表情字符存储有问题,或者遇到保存字符串到数据库里出现\xF0\x9F\x92\x94类似问题时,请尝试使用这个工具。

什么工具呢?

Java Emoji Converter 。
GitHub地址为:https://github.com/binarywang/java-emoji-converter

可以将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,类似&#128582;

可以直接将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。强烈推荐。


最近正在读明朝那些事儿(第一册——从乞丐和尚到皇帝),恨不得一天把书读完!做皇帝很美,但朱元璋也太能杀人了。乱世的老百姓还是很可怜的。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章
最新文章
相关文章