日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

java emoji编码转换_java转换emoji表情

發布時間:2023/12/4 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java emoji编码转换_java转换emoji表情 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

/**

* @Description 將字符串中的emoji表情轉換成可以在utf-8字符集數據庫中保存的格式(表情占4個字節,需要utf8mb4字符集)

* @param str

* 待轉換字符串

* @return 轉換后字符串

* @throws UnsupportedEncodingException

* exception

*/

public static String emojiConvert1(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) {

LOG.error("emojiConvert error", e);

throw e;

}

}

matcher.appendTail(sb);

LOG.debug("emojiConvert " + str + " to " + sb.toString()

+ ", len:" + sb.length());

return sb.toString();

}

/**

* @Description 還原utf8數據庫中保存的含轉換后emoji表情的字符串

* @param str

* 轉換后的字符串

* @return 轉換前的字符串

* @throws UnsupportedEncodingException

* exception

*/

public static String emojiRecovery2(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) {

LOG.error("emojiRecovery error", e);

throw e;

}

}

matcher.appendTail(sb);

LOG.debug("emojiRecovery " + str + " to " + sb.toString());

return sb.toString();

}

來源:https://www.cnblogs.com/shihaiming/p/5833244.html

總結

以上是生活随笔為你收集整理的java emoji编码转换_java转换emoji表情的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。