微信公众号使用Emoji表情
看習慣了qq的默認表情,嘗到了漂亮的emoji表情。這個時候,就開始心動了。我要我要回復漂亮的emoji表情。
既然,談到emoji表情,能回復是必然的。只是方法你尋到了沒。php有點不同,在php中輸出\(斜杠)u開頭的unicode編碼會原樣輸出,所以需要轉換一下(java和c#貌似不用)。
做一個勤快的人,有想法,就得付出心動。在網上都可以找到答案,然后去應證,封裝。最后,就是你的了。
先上一張圖。
emoji表情
在進行代碼編寫之前,先看看柳峰的文章: http://blog.csdn.net/lyq8479/article/details/9229637
他那里詳細講解了什么是emoji表情,以及如何使用emoji表情。
Emoji表情的分類
Emoji表情有很多種版本,包括Unified、DoCoMo、KDDI、Softbank和Google,而且不同版本的表情代碼也不一樣,更可惡的是:不同的手機操作系統、甚至是同一操作系統的不同版本所支持的emoji表情又不一樣。
所以,完美主義者可以止步了,因為目前emoji表情并不能保證在所有終端上都能正常使用。
慶幸的是,我已經在超過10余部終端上測試過emoji表情的使用,這其中包括iPhone 4S、iPhone 5、Android 2.2、Android 4.0+、Win8、iPad2,只有極個別終端上顯示不出來或顯示為一個小方格,所以并沒有什么太大的影響,也就可以放心使用了!
既然,emoji表情有多種版本,那么使用方法是否一樣呢?請先看SoftBank版本emoji表情的使用。
第一,我們要知道表情代碼表。這個在柳峰的文章里邊有,貼出了圖片以及對應的表情代碼。上邊說過,在php中輸出\(斜杠)u開頭的unicode編碼會原樣輸出,所以需要轉換一下。現在來轉換一下。
假如我們要向用戶返回一個“草莓”表情,只需要在輸出的xml文件中對應的Content值是:
?
這個時候,你應該可以看清楚了。”\ue347″就是‘草莓’這個表情的表示代碼。上邊的unicode2utf8函數,就是將表情代碼轉換成正常的。其唯一參數就是表情對應的表示代碼。
既然知道可以使用了。那么下邊,我們可以對這些表情進行封裝一下。使得可以實現下邊兩種功能。
一丶隨機的輸出一個emoji表情(emoji表情太多,從眾多表情中隨機的輸出一個emoji表情有新鮮感)。
二丶通過中文名字,輸出對應的emoji表情(這個與上邊的相反。有時候,是需要輸出特定的表情)。
為了實現上邊這兩個功能。我建立了兩個數組,一個用來存儲emoji表情的表示代碼,另一個用來存儲emoji表情對應的中文名字(這個名字你覺得怎么貼切就怎么取)。他們的鍵值是0,1,2,3,4……
這里除了上邊的轉換函數,還需要兩個公開的函數。一個用來輸出隨機的表情,一個用來輸出對應關鍵字的表情。
說完了,直接貼出封裝好的代碼。
?
上邊是SoftBank版本emoji表情的使用,下邊說下Unified版本的emoji表情。在代碼表中,Unified版本表情是”U+1F604″這樣的形式,就是開頭兩個字符是“U+”,在這里,我們需要將“U+”替換成“0X”,然后給xml的Content。這里就不多說了。
很悲傷的說,php下Unified版本的表情沒有試驗成功。php將字符從Unicode轉化成utf-8還是不行。
應該方法不對吧。
總結
以上是生活随笔為你收集整理的微信公众号使用Emoji表情的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: stm32中UART和USART的区别
- 下一篇: PageHelper使用方法