ios - Facebook 聊天 API 和表情符号

标签 ios facebook-graph-api facebook-chat

我们已经实现了一个使用 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中正确显示? 关于这个问题有什么想法吗?

问候, 丹尼尔

最佳答案

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

关于ios - Facebook 聊天 API 和表情符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13141417/

相关文章:

Android Facebook 聊天示例项目

javascript - WinJS 缓存 facebook 个人资料图片

c# - agsXMPP OnMessage 不包含消息正文

ios - 带有进度的 saveInBackgroundWithBlock 在 Xcode 6.3 下的 Swift 中不起作用

ios - Storyboard中 UITableViewCell 的 backroundView 属性设置运行时错误

facebook-graph-api - Facebook 开放图 : Use of built in Read & Article type

javascript - jquery.neosmart.fb.wall.js +like 计数给出 'undefined people' 错误

python - 使用 SleekXMPP 连接到 Facebook 聊天

ios - 使用 Delegation 关闭 ViewController 不工作 iOS

ios - UISlider 停止时如何触发方法?