4

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

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

但是,当我们通过 xmpp 发送到 facebook 时,我们从 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 中正确显示的表情符号?关于这个问题的任何想法?

问候,丹尼尔

4

1 回答 1

3

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

于 2012-10-30T20:29:58.620 回答