public class emojiutil {/** * convert emoji expression in str to byte array * * @param str * @return */public static string resolvetobytefromemoji (string STR) {pattern pattern = pattern.compile ("[^ (\u2e80-\u9fff\\w\\s ' [email protected]#\\$ %\\^&\\*\\ (\ \) _+-? ()--=\\[\\]{}\\|;. ,、《》”:;“! ... ': ' \ ' <,>\\.? /\\\\*)]"); Matcher matcher = pattern.matcher (str); Stringbuffer sb2 = new stringbuffer ();while (Matcher.find ()) { Matcher.appendreplacement (Sb2, resolvetobyte (matcher.group (0));} Matcher.appendtail (SB2); return sb2.tostring ();} /** * emoji expression of byte array type in str to normal display emoji expression * * @param str * @ Return */public static string resolvetoemojifrombyte (STRING&NBSP;STR) {Pattern Pattern2 = pattern.compile ("<:([[-]\\d*[,]]+]:>"); Matcher matcher2 = pattern2.mAtcher (str); Stringbuffer sb3 = new stringbuffer ();while (Matcher2.find ()) { Matcher2.appendreplacement (Sb3, resolvetoemoji (matcher2.group (0));} Matcher2.appendtail (SB3); return sb3.tostring ();} Private static string resolvetobyte (STRING&NBSP;STR) {byte[] b = Str.getbytes (); Stringbuffer sb = new stringbuffer (); Sb.append ("<:");for (int i = 0 ; i < b.length; i++) {if (i < b.length - 1) { Sb.append (Byte.valueof (B[i]). toString () + ","); else {sb.append (Byte.valueof (B[i]). toString ());}} Sb.append (":>"); return sb.tostring ();} Private static string resolvetoemoji (STRING&NBSP;STR) {str = str.replaceall (" <: ", " "). ReplaceAll (":> ", " "); String[] s = str.split (",");byte[] b = new byte[s.length];for (int i = 0; i < s.length; i++) {b[i] = byte.valueof (S[i]);} Return new string (b);}}
Java handles emoji emoticons