【问题标题】:IOS Localizing Push NotificationsIOS 本地化推送通知
【发布时间】:2012-11-08 21:37:09
【问题描述】:

当我为推送通知设计原型时,我有一个 php 脚本,其中包含一个非本地化字符串推送到 iphone,在这里我还可以包含表情符号。

我现在使用 asp.net 创建了一个 web 服务,并在 IOS 端本地化了推送通知。

但我现在似乎无法让表情符号工作,我尝试了所有组合 og unicode escape 序列中的本地化字符串,还尝试将表情符号作为参数发送到推送通知中,并将其包含在本地化字符串“%@”和“%C”中,但没有成功。

我卡在自动取款机上,所以非常感谢任何能让我回到正轨的提示

斯蒂芬

【问题讨论】:

  • 我的回答有帮助吗?否则,您可以发布您的代码如何创建推送通知数据。

标签: ios push emoji


【解决方案1】:

根据JSON RFC,不属于“基本多语言平面”的字符可以使用 UTF-16 代理对进行转义。

例如,表情符号“竖起大拇指”是 Unicode 代码点 U+1F44D,而 UTF-16 代理对是

0xD83D, 0xDC4D

JSON Unicode 转义序列是

\ud83d\udc4d 

如果您在推送通知有效负载的警报部分中包含此内容,则该符号将正确显示(我已经测试过)。

但您也可以使用 UTF-8,对于“竖起大拇指”,这将是字节

0xF0, 0x9F, 0x91, 0x8D

【讨论】:

  • 有人尝试推送 4 字节的 UTF-8 版本吗?在这里似乎不起作用,将尝试转义的方法。可惜用完 12 个字节。
  • @StefanL:我很确定我也使用 UTF-8 序列对其进行了测试并且它有效。
  • 我可以确认 4 字节 UTF-8 方法实际上确实有效。据报道,发送像“\uD83D\uDC27”这样的引用代理对(还没有看到实际发送的字节的详细日志)导致它们以纯文本形式到达另一端,可能是由于大写而不是小写-案例?
  • @StefanL:不,大写应该没问题。由于我目前正在处理其他项目,因此我目前无法对此进行测试。
猜你喜欢
  • 1970-01-01
  • 2017-02-12
  • 1970-01-01
  • 2018-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-30
  • 2016-09-06
相关资源
最近更新 更多