convert UTF-8 HEX into emoji representation

三世轮回 提交于 2019-12-11 21:05:18

问题


How do we convert UTF-8 HEX: EE 94 93 into equivalent Emoji representation: 1f1e8, 1f1f3

taken from here: http://www.iemoji.com/view/emoji/175/places/regional-indicator-symbol-letters-cn


回答1:


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');
        }


来源:https://stackoverflow.com/questions/26151972/convert-utf-8-hex-into-emoji-representation

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!