Facebook聊天Api和表情符号

时间:2012-10-30 14:42:59

标签: ios facebook-graph-api facebook-chat

我们已经实现了一个使用Facebook聊天的iphone应用程序,部分通过xmpp,部分通过facebook图表api。

一切都很好,直到表情符号。当我们在iPhone上输入表情符号时,我们会在显示屏上显示正确的表情符号。

但是我们从facebook获得的消息是我们通过xmpp发送到facebook的其他转义序列。

以下是一个例子: 我们通过xmpp发送以下xml:

<message type="chat" to="-someFacebookID@chat.facebook.com"><body></body></message>

当我们回想起来自facebook的消息时,我们得到了以下内容:

{
"author_id" = someID;
body = "\Uf637";
"created_time" = 1351607849;
"message_id" = "someID_41";
"thread_id" = someID;
}

以下是我们对消息的FQL声明:

@"SELECT message_id, author_id, thread_id, created_time, body FROM message WHERE thread_id = %@"

但是为什么facebook会转换在网站上的facebook-chat中正确显示的表情符号? 关于这个问题的任何想法?

此致 丹尼尔

1 个答案:

答案 0 :(得分:3)

返回的文本(例如示例中的“\ Uf637”)是表情符号的unicode表示形式。 Facebook的数据库不会以完整形式存储表情符号,它们会转换为unicode,并在Facebook的应用程序上显示时转换回其表情符号形式。在使用Chat API时,您可能必须在自己的应用程序中执行相同的操作(对于找到的所有类似unicode表情符号的字符串,将其转换为实际的表情符号)。以下是unicode代码的完整列表及其匹配的表情符号:http://www.unicode.org/charts/PDF/U1F600.pdf