博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
emoj表情插入mysql,取出mysql的处理工具类
阅读量:4659 次
发布时间:2019-06-09

本文共 2054 字,大约阅读时间需要 6 分钟。

1 public class emojCandleUtil { 2      3     private static final Logger log =LoggerFactory.getLogger(emojCandleUtil.class); 4  5      6     /**  7      * 将字符串中的emoji表情转换成可以在utf-8字符集数据库中保存的格式 8      * @param str 待转换字符串  9      * @return    转换后的字符串 10      */ 11     12     13     public String emojiConvert(String str)  14             throws UnsupportedEncodingException {  15         String patternString = "([\\x{10000}-\\x{10ffff}\ud800-\udfff])";  16       17         Pattern pattern = Pattern.compile(patternString);  18         Matcher matcher = pattern.matcher(str);  19         StringBuffer sb = new StringBuffer();  20         while(matcher.find()) {  21             try {  22                 matcher.appendReplacement(sb,"[["+ URLEncoder.encode(matcher.group(1),"UTF-8") + "]]");  23             } catch(UnsupportedEncodingException e) { 24                 log.error("emojiConvert",e);25                 throw e;  26             }  27         }  28         matcher.appendTail(sb);  29         return sb.toString();  30     } 31     32     /** 33      * 还原utf8数据库中保存的含转换后emoji表情的字符串 34      * @param str 转换后的字符串 35      * @return 转换前的字符串 36      */  37     public String emojiConvertRst(String str)  38             throws UnsupportedEncodingException {  39         String patternString = "\\[\\[(.*?)\\]\\]";  40       41         Pattern pattern = Pattern.compile(patternString);  42         Matcher matcher = pattern.matcher(str);  43       44         StringBuffer sb = new StringBuffer();  45         while(matcher.find()) {  46             try {  47                 matcher.appendReplacement(sb,  48                         URLDecoder.decode(matcher.group(1), "UTF-8"));  49             } catch(UnsupportedEncodingException e) {  50                 log.error("emojiConvertRst",e);51                 throw e;  52             }  53         }  54         matcher.appendTail(sb);  55         return sb.toString();  56     }57     58 }

本文是参考的大神,亲测有效!

posted on
2018-05-25 16:53 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/yinyanji/p/9089532.html

你可能感兴趣的文章
ef linq 中判断实体中是否包含某集合
查看>>
章三 链表
查看>>
Solution for Concurrent number of AOS' for this application exceeds the licensed number
查看>>
CSE 3100 Systems Programming
查看>>
IntelliJ IDEA 的Project structure说明
查看>>
Java Security(JCE基本概念)
查看>>
创建 PSO
查看>>
JasperReport报表设计4
查看>>
项目活动定义 概述
查看>>
团队冲刺04
查看>>
我的Python分析成长之路8
查看>>
泛型在三层中的应用
查看>>
SharePoint2010 -- 管理配置文件同步
查看>>
.Net MVC3中取得当前区域的名字(Area name)
查看>>
获得屏幕像素以及像素密度
查看>>
int与string转换
查看>>
adb命令 判断锁屏
查看>>
推荐一个MacOS苹果电脑系统解压缩软件
查看>>
1035等差数列末项计算
查看>>
CDMA鉴权
查看>>