引言及文章概要
第11篇文章給出了Unified版本的符號表情(emoji表情)代碼表,並且介紹了如何在微信公眾帳號開發模式下發送emoji表情,還在文章結尾出,賣了個關子:“小q機器人中使用的一些符號表情,在微信的符號表情選擇欄裡根本找不到,並且在上篇文章給出的符號表情代碼表(Unified版)中也沒有,那這些表情是如何發送的呢?”如下面兩張圖所示的符號表情“情侶”和“公共汽車”。
本文主要介紹以下內容:1)如何在微信上使用更多的符號表情(即如何發送在微信符號表情選擇欄中不存在的emoji表情);2)給出SoftBank版符號表情的代碼對照表;3)介紹及演示如何發送SoftBank版本的符號表情。讓大家徹底玩轉微信公眾帳號的emoji表情!
如何在微信上使用更多的符號表情
我們先來看下,作為一個微信用戶,如何向好友或微信公眾帳號發送一些微信符號表情選擇欄中沒有列出的符號表情。例如:小q機器人中使用的“情侶”、“公共汽車”兩個符號表情,如果我想在與朋友微信聊天時使用,該怎麼辦呢?請先看下面的兩張截圖:
可以看出,當我們在輸入框中輸入“情侶”的全拼“qinglv”、“公共汽車”的全拼“gonggongqiche”時,輸入法的文本提示列表中就會自動顯示對應的符號表情,怎麼樣,是不是很容易呢?這類表情還有很多,例如:馬桶、廁所、取款機等。
說明:筆者使用的是iPhone 4S手機系統自帶的輸入法做的測試,如果你用的是安卓、或者是第三方輸入法,那就另當別論了。
Emoji表情代碼表之SoftBank版本
上篇文章講過,emoji表情有很多種版本,其中包括Unified、DoCoMo、KDDI、Softbank和Google,並且不同版本用於表示同一符號表情的Unicode代碼也不相同。本篇文章,給出SoftBank(日本軟銀集團)版本的emoji表情代碼表(網上一般稱之為SB Unicode,指的就是它),如下圖所示:
公眾帳號如何向用戶發送SoftBank版本的符號表情
在微信公眾帳號開發模式下,發送SoftBank版的符號表情要比發送Unified版的符號表情簡單的多,直接將符號表情對應的SoftBank Unicode值寫在程序代碼中返回給用戶即可,無需做任何處理。
下面,我給出一個發送SoftBank版符號表情的示例,代碼如下:
package org.liufeng.course.service; import java.util.Date; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.liufeng.course.message.resp.TextMessage; import org.liufeng.course.util.MessageUtil; /** * 核心服務類 * * @author liufeng * @date 2013-07-21 */ public class CoreService { /** * 處理微信發來的請求 * * @param request * @return */ public static String processRequest(HttpServletRequest request) { String respMessage = null; try { // xml請求解析 Map<String, String> requestMap = MessageUtil.parseXml(request); // 發送方帳號(open_id) String fromUserName = requestMap.get("FromUserName"); // 公眾帳號 String toUserName = requestMap.get("ToUserName"); // 回復文本消息 TextMessage textMessage = new TextMessage(); textMessage.setToUserName(fromUserName); textMessage.setFromUserName(toUserName); textMessage.setCreateTime(new Date().getTime()); textMessage.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_TEXT); textMessage.setFuncFlag(0); textMessage.setContent("自行車\ue136 男人\ue138 錢袋\ue12f 情侶\ue428 公共汽車\ue159"); respMessage = MessageUtil.textMessageToXml(textMessage); } catch (Exception e) { e.printStackTrace(); } return respMessage; } }
上面代碼的作用是:不管用戶發送什麼類型的消息,都返回包含5個emoji表情的文本消息。如果不明白CoreService類怎麼回事,請查看本系列教程的第5篇,或者你只需要認真看第42行代碼,就知道怎麼樣把SoftBank版emoji表情代碼放在文本消息的Content中了。最後再來看下運行效果截圖:
說明:每一個符號表情都有與之對應的Unified unicode、Softbank unicode代碼,並不是說“情侶”、“公共汽車”這類在微信的符號表情欄中找不到的emoji表情只能通過本文的方式發送,只要你拿到與之對應的Unified unicode代碼,一樣可以使用上篇文章所講的方法發送這類符號表情。
好了,關於微信公眾帳號向用戶發送符號表情的講解就此結束了,相信有些朋友看完教程已經開始在帳號中使用符號表情了。其實,我更希望大家在拷貝我粘出的Unified版、SoftBank版符號表情代碼表的同時,也能去了解下符號表情各種版本、Unicode編碼及增補碼的相關知識,不斷拓展自己的知識面,觸類旁通,這樣才能真正地把我講解的知識變成你自己的,才能做到以不變應萬變。