/////////////////////////////////////////////////
// Project : JEmoji
// Package : 
// JEmojis.java
//
// Author : Simon CORSIN <simoncorsin@gmail.com>
// File created on Mar 19, 2014 at 2:56:44 PM
////////

package me.corsin.javatools.string;

/**
 * All the information on the emojis are available on http://www.iemoji.com
 */
public enum JEmoji {
    HEART(":heart:", 0xE2, 0x9D, 0xA4),
    V(":v:", 0xE2, 0x9C, 0x8C),
    STAR(":star:", 0xE2, 0xAD, 0x90),
    EMAIL(":email:", 0xE2, 0x9C, 0x89),
    EYES(":eyes:", 0xF0, 0x9F, 0x91, 0x80),
    WINK(":wink:", 0xF0, 0x9F, 0x98, 0x89);

    private final String shortCode;
    private final String utf8HexStr;

    private JEmoji(String shortCode, int... bytes) {
        this.shortCode = shortCode;
        this.utf8HexStr = fromValues(bytes);
    }

    private static String fromValues(int... intValues) {
        byte[] values = new byte[intValues.length];
        for (int i = 0, length = values.length; i < length; i++) {
            values[i] = (byte) intValues[i];
        }
        return new String(values);
    }

    public String getUTF8HexString() {
        return this.utf8HexStr;
    }

    public String getShortCode() {
        return this.shortCode;
    }

    public static String toUTF8HexString(String str) {
        String tmp = str;
        for (JEmoji emoji : values())
            tmp = tmp.replace(emoji.shortCode, emoji.utf8HexStr);
        return tmp;
    }
}

@@ -343,20 +343,17 @@
 Emoji %7B%0A
-    
+%09
 HEART(%22:
@@ -380,20 +380,17 @@
  0xA4),%0A
-    
+%09
 V(%22:v:%22,
@@ -409,20 +409,17 @@
  0x8C),%0A
-    
+%09
 STAR(%22:s
@@ -444,20 +444,17 @@
  0x90),%0A
-    
+%09
 EMAIL(%22:
@@ -481,20 +481,17 @@
  0x89),%0A
-    
+%09
 EYES(%22:e
@@ -522,20 +522,60 @@
  0x80),%0A
-    
+%09SPARKLES(%22:sparkles:%22, 0xE2, 0x9C, 0xA8),%0A%09
 WINK(%22:w
@@ -607,20 +607,17 @@
 0x89);%0A%0A
-    
+%09
 private 
@@ -640,20 +640,17 @@
 rtCode;%0A
-    
+%09
 private 
@@ -675,20 +675,17 @@
 exStr;%0A%0A
-    
+%09
 private 
@@ -725,24 +725,18 @@
 ytes) %7B%0A
-        
+%09%09
 this.sho
@@ -755,24 +755,18 @@
 rtCode;%0A
-        
+%09%09
 this.utf
@@ -794,27 +794,21 @@
 bytes);%0A
-    %7D%0A%0A    
+%09%7D%0A%0A%09
 private 
@@ -852,24 +852,18 @@
 lues) %7B%0A
-        
+%09%09
 byte%5B%5D v
@@ -898,24 +898,18 @@
 ength%5D;%0A
-        
+%09%09
 for (int
@@ -959,28 +959,19 @@
  i++) %7B%0A
-            
+%09%09%09
 values%5Bi
@@ -999,26 +999,14 @@
 i%5D;%0A
-        %7D%0A        
+%09%09%7D%0A%09%09
 retu
@@ -1028,27 +1028,21 @@
 alues);%0A
-    %7D%0A%0A    
+%09%7D%0A%0A%09
 public S
@@ -1064,32 +1064,26 @@
 xString() %7B%0A
-        
+%09%09
 return this.
@@ -1094,27 +1094,21 @@
 HexStr;%0A
-    %7D%0A%0A    
+%09%7D%0A%0A%09
 public S
@@ -1130,24 +1130,18 @@
 ode() %7B%0A
-        
+%09%09
 return t
@@ -1159,19 +1159,13 @@
 de;%0A
-    %7D%0A%0A    
+%09%7D%0A%0A%09
 publ
@@ -1211,24 +1211,18 @@
  str) %7B%0A
-        
+%09%09
 String t
@@ -1231,24 +1231,18 @@
  = str;%0A
-        
+%09%09
 for (JEm
@@ -1267,20 +1267,11 @@
 ())%0A
-            
+%09%09%09
 tmp 
@@ -1324,16 +1324,10 @@
 r);%0A
-        
+%09%09
 retu
@@ -1338,12 +1338,9 @@
 mp;%0A
-    
+%09
 %7D%0A%7D%0A

Adding the "sparkles" emoji