{"id":489,"date":"2016-04-20T15:09:02","date_gmt":"2016-04-20T15:09:02","guid":{"rendered":"854d9fca60b4bd07f9bb215d59ef5561"},"modified":"2016-04-20T15:09:02","modified_gmt":"2016-04-20T15:09:02","slug":"","status":"publish","type":"post","link":"https:\/\/www.xiaobo.li\/notes\/archives\/489","title":{"rendered":"emoji"},"content":{"rendered":"<p><strong><a target=\"_blank\" href=\"\/notes\/content\/uploadfile\/201604\/e3351461136381.png\" id=\"ematt:388\"><img decoding=\"async\" src=\"\/notes\/content\/uploadfile\/201604\/e3351461136381.png\" alt=\"\u70b9\u51fb\u67e5\u770b\u539f\u56fe\" border=\"0\" \/><\/a><br \/>\n<\/strong><\/p>\n<p><strong>\u4e00 \u53c2\u8003\u8d44\u6599<\/strong><\/p>\n<p>1 Emoji \u5168\u7f16\u7801\u8868\uff1a(\u6211\u53c2\u8003\u7684\u8fd9\u4e2a)<br \/>\n&nbsp; http:\/\/punchdrunker.github.com\/iOSEmoji\/table_html\/flower.html<br \/>\n2 Emoji\u5168\u7f16\u7801\u8868<br \/>\n&nbsp; http:\/\/code.iamcal.com\/php\/emoji\/<br \/>\nhttp:\/\/blog.csdn.net\/iunion\/article\/details\/7241945<\/p>\n<p>3 iOS5\/4 Emoji &nbsp;\u517c\u5bb9\u6027\uff1a<br \/>\n&nbsp; http:\/\/stackoverflow.com\/questions\/7856775\/how-to-convert-the-old-emoji-encoding-to-the-latest-encoding-in-ios5<br \/>\n4 MySQL emoji\u95ee\u9898<br \/>\n&nbsp; http:\/\/dropblood.com\/archives\/ios-mysql-emoji<br \/>\n5 Emoji \u4e2d\u6587\u5bf9\u5e94\u8868<\/p>\n<p>\n&nbsp; http:\/\/www.iapps.im\/wp-content\/uploads\/2012\/02\/emoji-pinyin.png?r=010<br \/>\n6 Emoji \u53c2\u8003<br \/>\n&nbsp;&nbsp; http:\/\/www.unicode.org\/emoji\/<br \/>\n&nbsp;&nbsp; \u5bf9\u7167\uff1a<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http:\/\/www.unicode.org\/Public\/emoji\/2.0\/\/emoji-data.txt<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http:\/\/www.unicode.org\/Public\/emoji\/2.0\/\/emoji-sequences.txt<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http:\/\/www.unicode.org\/Public\/emoji\/2.0\/\/emoji-zwj-sequences.txt<br \/>\n7 Emoji UTF-16<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http:\/\/punchdrunker.github.io\/iOSEmoji\/table_html\/emoji.json<br \/>\n8 windows 7 \u8865\u4e01<\/p>\n<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; https:\/\/support.microsoft.com\/zh-cn\/kb\/2729094<\/p>\n<p>&nbsp;9 php<br \/>\nhttp:\/\/ju.outofmemory.cn\/entry\/46760<\/p>\n<p>http:\/\/www.unicode.org\/~scherer\/emoji4unicode\/snapshot\/full.html<\/p>\n<\/p>\n<p><strong>\u4e8c \u4e0b\u8f7d\u8d44\u6e90&nbsp;<\/strong><\/p>\n<p><a href=\"http:\/\/download.csdn.net\/detail\/qdkfriend\/4309051\">emoji\u56fe\u7247\u548c\u7f16\u7801\u8868<\/a>&nbsp;http:\/\/download.csdn.net\/detail\/qdkfriend\/4309051<\/p>\n<p>\n&nbsp; \u5305\u62ecemoji\u6587\u4ef6\u8868,emoji\u6570\u636e\u7f16\u7801\u8868(Unicode\u7f16\u7801,UTF8\u7f16\u7801,UTF16\u7f16\u7801,SBUnicode\u7f16\u7801)<\/p>\n<pre class=\"brush:php; toolbar: true; auto-links: true;\">public static function removeEmoji($text) {\r\n\r\n    $clean_text = \"\";\r\n\r\n    \/\/ Match Emoticons\r\n    $regexEmoticons = '\/[\\x{1F600}-\\x{1F64F}]\/u';\r\n    $clean_text = preg_replace($regexEmoticons, '', $text);\r\n\r\n    \/\/ Match Miscellaneous Symbols and Pictographs\r\n    $regexSymbols = '\/[\\x{1F300}-\\x{1F5FF}]\/u';\r\n    $clean_text = preg_replace($regexSymbols, '', $clean_text);\r\n\r\n    \/\/ Match Transport And Map Symbols\r\n    $regexTransport = '\/[\\x{1F680}-\\x{1F6FF}]\/u';\r\n    $clean_text = preg_replace($regexTransport, '', $clean_text);\r\n\r\n    \/\/ Match Miscellaneous Symbols\r\n    $regexMisc = '\/[\\x{2600}-\\x{26FF}]\/u';\r\n    $clean_text = preg_replace($regexMisc, '', $clean_text);\r\n\r\n    \/\/ Match Dingbats\r\n    $regexDingbats = '\/[\\x{2700}-\\x{27BF}]\/u';\r\n    $clean_text = preg_replace($regexDingbats, '', $clean_text);\r\n\r\n    return $clean_text;\r\n}<\/pre>\n<p>&nbsp;<\/p>\n<pre class=\"brush:c#; toolbar: true; auto-links: true;\">static string EmojiToHex(string content)\r\n        {\r\n            if (string.IsNullOrEmpty(content))\r\n            {\r\n                return content;\r\n            }\r\n\r\n            \/\/http:\/\/punchdrunker.github.io\/iOSEmoji\/table_html\/emoji.json\r\n            var regexString = @\"\\uD83C[\\uDC00-\\uDFFF]|\\uD83D[\\uDC00-\\uDEFF]\";\r\n            var regex = new System.Text.RegularExpressions.Regex(regexString);\r\n            var contentHex = regex.Replace(content, m =&gt;\r\n            {\r\n                int r;\r\n                string r1, r2;\r\n\r\n                r = Convert.ToInt32(m.Value[0]);\r\n                r1 = \"0x\" + r.ToString(\"X\");\r\n\r\n                r = Convert.ToInt32(m.Value[1]);\r\n                r2 = \"0x\" + r.ToString(\"X\");\r\n\r\n                return r1 + r2;\r\n            });\r\n\r\n            return contentHex;\r\n        }\r\n        \r\n        static string EmojiFromHex(string hexContent)\r\n        {\r\n            if (string.IsNullOrEmpty(hexContent))\r\n            {\r\n                return hexContent;\r\n            }\r\n            var regexString = @\"0x[0-9A-Z]{4}|0x[0-9A-Z]{2}\";\r\n            var regex = new System.Text.RegularExpressions.Regex(regexString);\r\n            var content = regex.Replace(hexContent, m =&gt;\r\n            {\r\n                var b = m.Value.Substring(2);\r\n                var b1 = Convert.ToInt32(b, 16);\r\n                var b2 = Convert.ToChar(b1);\r\n                return b2.ToString();\r\n            });\r\n\r\n            return content;\r\n        }\r\n\r\n\r\n \/\/test\r\n            var c = \"\";\r\n            c = System.Web.HttpUtility.UrlDecode(\"%ud83d%ude00\u4e2d\u6587\", Encoding.UTF8);\/\/\r\n            Console.WriteLine(c);\r\n\r\n\r\n            \/\/var c1 = c.ToCharArray();\r\n\r\n            var c1 = EmojiToHex(c);\r\n            Console.WriteLine(c1);\r\n\r\n            var c2 = EmojiFromHex(c1);\r\n            Console.WriteLine(c2);\r\n\r\n            return;<\/pre><\/p>\n","protected":false},"excerpt":{"rendered":"<p><strong><a target=\"_blank\" href=\"\/notes\/content\/uploadfile\/201604\/e3351461136381.png\" id=\"ematt:388\"><img decoding=\"async\" src=\"\/notes\/content\/uploadfile\/201604\/e3351461136381.png\" alt=\"\u70b9\u51fb\u67e5\u770b\u539f\u56fe\" border=\"0\" \/><\/a><br \/>\n<\/strong><\/p>\n<p><strong>\u4e00 \u53c2\u8003\u8d44\u6599<\/strong><\/p>\n<p>1 Emoji \u5168\u7f16\u7801\u8868\uff1a(\u6211\u53c2\u8003\u7684\u8fd9\u4e2a)<br \/>\n&nbsp; http:\/\/punchdrunker.github.com\/iOSEmoji\/table_html\/flower.html<br \/>\n2 Emoji\u5168\u7f16\u7801\u8868<br \/>\n&nbsp; http:\/\/code.iamcal.com\/php\/emoji\/<\/p>\n<p>3 iOS5\/4 Emoji &nbsp;\u517c\u5bb9\u6027\uff1a<br \/>\n&nbsp; http:\/\/stackoverflow.com\/questions\/7856775\/how-to-convert-the-old-emoji-encoding-to-the-latest-encoding-in-io... <a href=\"https:\/\/www.xiaobo.li\/notes\/archives\/489\">\u7ee7\u7eed\u9605\u8bfb <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[283],"tags":[232],"class_list":["post-489","post","type-post","status-publish","format-standard","hentry","category-technologys","tag-emoji"],"_links":{"self":[{"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/posts\/489","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/comments?post=489"}],"version-history":[{"count":0,"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/posts\/489\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/media?parent=489"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/categories?post=489"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/tags?post=489"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}