Herramienta de conversión de expresiones 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 { 
    Logger final estático LOGGER = LoggerFactory.getLogger (EmojiUtil.class); 

    / ** 
     * emoji 表情 转换 成 字符串
     * 
     * @param str 
     * 
     * @return 
     * 
     * @throws UnsupportedEncodingException 
     * /
    public static String emojiEncode (String str) arroja UnsupportedEncodingException { 
        String patternString = "([\\ x {10000} - \\ x {10ffff} \ ud800- \ udfff])"; 
        Patrón patrón = Pattern.compile (patternString); 
        Coincididor coincidente = patrón.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 ("error emojiEncode", e); 
                tirar e; 
            } 
        } 
        comparador.
        LOGGER.debug ("emojiEncode" + str + "a" + sb.toString () + ", len :" + sb.length ()); 
        return sb.toString (); 
    } 

    / ** 
     * 将 包含 字符串 转换 成 emoji 表情
     * @param str 
     * 
     * @return 
     * 
     * @throws UnsupportedEncodingException 
     * excepción 
     * / 
    public static String emojiDecode (String str) arroja UnsupportedEncodingException { 
        String patternString = "\\ [\\ [(. *?) \\] \\] "; 

        Patrón patrón = Pattern.compile (patternString); 
        Coincididor coincidente = patrón.matcher (str); 

        StringBuffer sb = new StringBuffer (); 
        while (matcher.find ()) {
            intente { 
                matcher.appendReplacement (sb, URLDecoder.decode (matcher.group (1), "UTF-8")); 
            } catch (UnsupportedEncodingException e) { 
                LOGGER.error ("error emojiDecode", e); 
                tirar e; 
            } 
        } 
        matcher.appendTail (sb); 
        LOGGER.debug ("emojiDecode" + str + "a" + sb.toString ()); 
        return sb.toString (); 
    } 
}

Supongo que te gusta

Origin blog.csdn.net/A___B___C/article/details/83992595
Recomendado
Clasificación