2014-10-01 1 views
0

Как мы преобразуем UTF-8 HEX: EE 94 93 в эквивалентное представление Emoji: 1f1e8, 1f1f3конвертировать UTF-8 HEX в Emoji представления

взято отсюда: http://www.iemoji.com/view/emoji/175/places/regional-indicator-symbol-letters-cn

+1

'System .Text.Encoding.UTF8.GetString (новый байт [] {238, 148, 147}) ' – cdhowie

+0

@cdhowie, который не даст вам эквивалентное представление Emoji: 1f1e8, 1f1f3 вообще –

+0

@cdhowie я уточнил свой вопрос –

ответ

0
public static string ConvertEmoji2UnicodeHex(string emoji) 
     { 
      if (string.IsNullOrWhiteSpace(emoji)) 
       return emoji; 

      byte[] bytes = Encoding.UTF8.GetBytes(emoji); 
      string firstItem = Convert.ToString(bytes[0], 2); 

      int iv; 
      if (bytes.Length == 1) 
      { 
       iv = Convert.ToInt32(firstItem, 2); 
      } 
      else 
      { 
       StringBuilder sbBinary = new StringBuilder(); 
       sbBinary.Append(firstItem.Substring(bytes.Length + 1).TrimStart('0')); 
       for (int i = 1; i < bytes.Length; i++) 
       { 
        string item = Convert.ToString(bytes[i], 2); 
        item = item.Substring(2); 
        sbBinary.Append(item); 
       } 

       iv = Convert.ToInt32(sbBinary.ToString(), 2); 
      } 

      return Convert.ToString(iv, 16).PadLeft(4, '0'); 
     } 
+1

Добро пожаловать в переполнение стека! Кодовые ответы не приветствуются. Попытайтесь объяснить, как ваш ответ решает проблему OP. Вы можете прочитать о [как написать хороший ответ] (http://stackoverflow.com/help/how-to-answer). –

 Смежные вопросы

  • Нет связанных вопросов^_^