Emoji表情转换工具类
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表情转换工具类相关推荐
- JAVA emoji表情处理工具类EmojiCharacterUtil代码修正
之前做emoji表情处理的时候在网上找到这个工具类源码,复制下来后发现反解析是不正确,不知这个是作者故意设的小坑让我们去读代码还是copy的人粗心大意,经仔细查看,送上正确的源码,修正内容为83-90 ...
- 推荐,Java Emoji Converter(Emoji表情转换工具)
当Emoji表情字符存储有问题,或者遇到保存字符串到数据库里出现\xF0\x9F\x92\x94类似问题时,请尝试使用这个工具. 什么工具呢? Java Emoji Converter . GitHu ...
- 日常小结:emoji表情转换utf-8编码字符串(存入数据库)/还原表情字符(页面展示)
直接贴上工具类 package com.epean.trade.framework.util;import java.net.URLDecoder; import java.net.URLEncode ...
- android 字体像素转换工具类_Android中px与dip,sp与dip等的转换工具类
Android中px与dip,sp与dip等的转换工具类 功能 通常在代码中设置组件或文字大小只能用px,通过这个工具类我们可以把dip(dp)或sp为单位的值转换为以px为单位的值而保证大小不变.方 ...
- java gson 工具类_GSON 实体 转换工具类
/** * Gson转换工具类 */ public class GsonUtils { /** * @param jsonString * json字符串 * @param cl ...
- android 日期时间类,Android 日期时间等转换工具类
package com.easyder.util; import java.text.SimpleDateFormat; import java.util.Date; /** * 日期时间等转换工具类 ...
- android 字体像素转换工具类_android px,dp,sp大小转换工具
package com.voole.playerlib.util; import android.content.Context; /** * Android大小单位转换工具类 * * float s ...
- java 视频转码工具类_JavaCV入门指南:FrameConverter转换工具类及CanvasFrame图像预览工具类(javaCV教程完结篇)...
JavaCV入门指南:FrameConverter转换工具类及CanvasFrame图像预览工具类(javaCV教程完结篇) 前言 再此章之前,我们已经详细介绍和剖析了javacv的结构和ffmpeg ...
- java字体颜色编程_Java 字体颜色转换工具类 ColorUtil
Java 字体颜色转换工具类 ColorUtil,Java 字体颜色转换工具类 ColorUtil-- import java.awt.Color; import jxl.format.Colour; ...
最新文章
- python csv转excel_使用 Python 把 PDF 转为 CSV 和 Excel(一)
- 《机器学习实战》chapter02 K-近邻算法(KNN)
- GAN生成对抗网络-DCGAN原理与基本实现-深度卷积生成对抗网络03
- 简单概述 .NET Framework 各版本区别
- mysql主键和聚簇索引_[MySQL] innoDB引擎的主键与聚簇索引
- linux top 命令的结果
- 微软亚研院:CV领域2019年重点论文推荐
- 78-spark2.2的编译
- Instagram 使用 Python 的经验
- Java 设计模式 之 装饰器模式(Decorator)
- 华为手机更改系统默认字体
- 回归预测 基于ELMAN递归神经网络预测及其matlab代码实现
- (七)OpenCV | 色度图
- qt中采用G.729A进行网络语音通话实验程序
- steam计算机游戏,steam五款免费游戏推荐 整体品质不输付费游戏 千万不要错过...
- 总算编译通过了《自制编程语言》一书里的代码!
- 简要描述如何安装配置apache的一个开源Hadoop
- 百度地图天气接口api调用
- 通过经纬度坐标计算距离
- 通达信f10接口是什么?