emoji

点击查看原图

一 参考资料

1 Emoji 全编码表:(我参考的这个)
  http://punchdrunker.github.com/iOSEmoji/table_html/flower.html
2 Emoji全编码表
  http://code.iamcal.com/php/emoji/
http://blog.csdn.net/iunion/article/details/7241945

3 iOS5/4 Emoji  兼容性:
  http://stackoverflow.com/questions/7856775/how-to-convert-the-old-emoji-encoding-to-the-latest-encoding-in-ios5
4 MySQL emoji问题
  http://dropblood.com/archives/ios-mysql-emoji
5 Emoji 中文对应表

  http://www.iapps.im/wp-content/uploads/2012/02/emoji-pinyin.png?r=010
6 Emoji 参考
   http://www.unicode.org/emoji/
   对照:
        http://www.unicode.org/Public/emoji/2.0//emoji-data.txt
        http://www.unicode.org/Public/emoji/2.0//emoji-sequences.txt
        http://www.unicode.org/Public/emoji/2.0//emoji-zwj-sequences.txt
7 Emoji UTF-16
        http://punchdrunker.github.io/iOSEmoji/table_html/emoji.json
8 windows 7 补丁

        https://support.microsoft.com/zh-cn/kb/2729094

 9 php
http://ju.outofmemory.cn/entry/46760

http://www.unicode.org/~scherer/emoji4unicode/snapshot/full.html

二 下载资源 

emoji图片和编码表 http://download.csdn.net/detail/qdkfriend/4309051

  包括emoji文件表,emoji数据编码表(Unicode编码,UTF8编码,UTF16编码,SBUnicode编码)

public static function removeEmoji($text) {

    $clean_text = "";

    // Match Emoticons
    $regexEmoticons = '/[\x{1F600}-\x{1F64F}]/u';
    $clean_text = preg_replace($regexEmoticons, '', $text);

    // Match Miscellaneous Symbols and Pictographs
    $regexSymbols = '/[\x{1F300}-\x{1F5FF}]/u';
    $clean_text = preg_replace($regexSymbols, '', $clean_text);

    // Match Transport And Map Symbols
    $regexTransport = '/[\x{1F680}-\x{1F6FF}]/u';
    $clean_text = preg_replace($regexTransport, '', $clean_text);

    // Match Miscellaneous Symbols
    $regexMisc = '/[\x{2600}-\x{26FF}]/u';
    $clean_text = preg_replace($regexMisc, '', $clean_text);

    // Match Dingbats
    $regexDingbats = '/[\x{2700}-\x{27BF}]/u';
    $clean_text = preg_replace($regexDingbats, '', $clean_text);

    return $clean_text;
}

 

static string EmojiToHex(string content)
        {
            if (string.IsNullOrEmpty(content))
            {
                return content;
            }

            //http://punchdrunker.github.io/iOSEmoji/table_html/emoji.json
            var regexString = @"\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDEFF]";
            var regex = new System.Text.RegularExpressions.Regex(regexString);
            var contentHex = regex.Replace(content, m =>
            {
                int r;
                string r1, r2;

                r = Convert.ToInt32(m.Value[0]);
                r1 = "0x" + r.ToString("X");

                r = Convert.ToInt32(m.Value[1]);
                r2 = "0x" + r.ToString("X");

                return r1 + r2;
            });

            return contentHex;
        }
        
        static string EmojiFromHex(string hexContent)
        {
            if (string.IsNullOrEmpty(hexContent))
            {
                return hexContent;
            }
            var regexString = @"0x[0-9A-Z]{4}|0x[0-9A-Z]{2}";
            var regex = new System.Text.RegularExpressions.Regex(regexString);
            var content = regex.Replace(hexContent, m =>
            {
                var b = m.Value.Substring(2);
                var b1 = Convert.ToInt32(b, 16);
                var b2 = Convert.ToChar(b1);
                return b2.ToString();
            });

            return content;
        }


 //test
            var c = "";
            c = System.Web.HttpUtility.UrlDecode("%ud83d%ude00中文", Encoding.UTF8);//
            Console.WriteLine(c);


            //var c1 = c.ToCharArray();

            var c1 = EmojiToHex(c);
            Console.WriteLine(c1);

            var c2 = EmojiFromHex(c1);
            Console.WriteLine(c2);

            return;

此条目发表在technologys分类目录,贴了标签。将固定链接加入收藏夹。