import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;/*** Emoji转换工具类** @version $ID$* @since 2018/11/12 13:44*/
public class EmojiUtil {static final Logger LOGGER = LoggerFactory.getLogger(EmojiUtil.class);/*** emoji表情转换成字符串** @param str** @return** @throws UnsupportedEncodingException*/public static String emojiEncode(String str) throws UnsupportedEncodingException {String patternString = "([\\x{10000}-\\x{10ffff}\ud800-\udfff])";Pattern pattern = Pattern.compile(patternString);Matcher matcher = pattern.matcher(str);StringBuffer sb = new StringBuffer();while (matcher.find()) {try {matcher.appendReplacement(sb, "[[" + URLEncoder.encode(matcher.group(1), "UTF-8") + "]]");} catch (UnsupportedEncodingException e) {LOGGER.error("emojiEncode error", e);throw e;}}matcher.appendTail(sb);LOGGER.debug("emojiEncode " + str + " to " + sb.toString() + ", len:" + sb.length());return sb.toString();}/*** 将包含字符串转换成emoji表情* @param str** @return** @throws UnsupportedEncodingException*         exception*/public static String emojiDecode(String str) throws UnsupportedEncodingException {String patternString = "\\[\\[(.*?)\\]\\]";Pattern pattern = Pattern.compile(patternString);Matcher matcher = pattern.matcher(str);StringBuffer sb = new StringBuffer();while (matcher.find()) {try {matcher.appendReplacement(sb, URLDecoder.decode(matcher.group(1), "UTF-8"));} catch (UnsupportedEncodingException e) {LOGGER.error("emojiDecode error", e);throw e;}}matcher.appendTail(sb);LOGGER.debug("emojiDecode " + str + " to " + sb.toString());return sb.toString();}
}

Emoji表情转换工具类相关推荐

  1. JAVA emoji表情处理工具类EmojiCharacterUtil代码修正

    之前做emoji表情处理的时候在网上找到这个工具类源码,复制下来后发现反解析是不正确,不知这个是作者故意设的小坑让我们去读代码还是copy的人粗心大意,经仔细查看,送上正确的源码,修正内容为83-90 ...

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

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

  3. 日常小结:emoji表情转换utf-8编码字符串(存入数据库)/还原表情字符(页面展示)

    直接贴上工具类 package com.epean.trade.framework.util;import java.net.URLDecoder; import java.net.URLEncode ...

  4. android 字体像素转换工具类_Android中px与dip,sp与dip等的转换工具类

    Android中px与dip,sp与dip等的转换工具类 功能 通常在代码中设置组件或文字大小只能用px,通过这个工具类我们可以把dip(dp)或sp为单位的值转换为以px为单位的值而保证大小不变.方 ...

  5. java gson 工具类_GSON 实体 转换工具类

    /** * Gson转换工具类 */ public class GsonUtils { /** * @param jsonString *            json字符串 * @param cl ...

  6. android 日期时间类,Android 日期时间等转换工具类

    package com.easyder.util; import java.text.SimpleDateFormat; import java.util.Date; /** * 日期时间等转换工具类 ...

  7. android 字体像素转换工具类_android px,dp,sp大小转换工具

    package com.voole.playerlib.util; import android.content.Context; /** * Android大小单位转换工具类 * * float s ...

  8. java 视频转码工具类_JavaCV入门指南:FrameConverter转换工具类及CanvasFrame图像预览工具类(javaCV教程完结篇)...

    JavaCV入门指南:FrameConverter转换工具类及CanvasFrame图像预览工具类(javaCV教程完结篇) 前言 再此章之前,我们已经详细介绍和剖析了javacv的结构和ffmpeg ...

  9. java字体颜色编程_Java 字体颜色转换工具类 ColorUtil

    Java 字体颜色转换工具类 ColorUtil,Java 字体颜色转换工具类 ColorUtil-- import java.awt.Color; import jxl.format.Colour; ...

最新文章

  1. python csv转excel_使用 Python 把 PDF 转为 CSV 和 Excel(一)
  2. 《机器学习实战》chapter02 K-近邻算法(KNN)
  3. GAN生成对抗网络-DCGAN原理与基本实现-深度卷积生成对抗网络03
  4. 简单概述 .NET Framework 各版本区别
  5. mysql主键和聚簇索引_[MySQL] innoDB引擎的主键与聚簇索引
  6. linux top 命令的结果
  7. 微软亚研院:CV领域2019年重点论文推荐
  8. 78-spark2.2的编译
  9. Instagram 使用 Python 的经验
  10. Java 设计模式 之 装饰器模式(Decorator)
  11. 华为手机更改系统默认字体
  12. 回归预测 基于ELMAN递归神经网络预测及其matlab代码实现
  13. (七)OpenCV | 色度图
  14. qt中采用G.729A进行网络语音通话实验程序
  15. steam计算机游戏,steam五款免费游戏推荐  整体品质不输付费游戏 千万不要错过...
  16. 总算编译通过了《自制编程语言》一书里的代码!
  17. 简要描述如何安装配置apache的一个开源Hadoop
  18. 百度地图天气接口api调用
  19. 通过经纬度坐标计算距离
  20. 通达信f10接口是什么?

热门文章

  1. 2023可能是最全的微前端方案调研
  2. HTML radio 实现性别的单选按钮用法
  3. layui table表头表行对不齐的问题
  4. 易优cms 忘记eyoucms后台密码怎么办? Eyoucms快速入门
  5. vivo手机便签怎么导出到电脑,教你将便签内容轻松备份的方法
  6. Spark算子综合案例
  7. linux下的cpu温度监控软件 lm-sensors
  8. 基于单片机设计的温度监控系统设计
  9. 全球免费公共【 DNS 】解析服务器 IP 地址列表推荐 【解决无法上网+加速+防劫持】
  10. Kotlin 枚举类 enum