0

我编写了一些服务器代码来发送推送通知。我有一个表单字段,称为消息。我需要的是在消息中添加一些表情符号字符。

如果我写 \ue48d ,对于云字符,服务器将其视为字符串'\ue48d'。

如何解码它以便在推送通知中使用它?

更新:这是我的服务器代码。我想将 \exxx 写入表单的消息字段,并在此代码中对其进行编码,然后发送给 Apple。

exports.create = function(req, res){
    var devices = req.body.devices;
    var message = req.body.message;
    var note = new apn.Notification();
    note.expiry = Math.floor(Date.now() / 1000) + 3600; // Expires 1 hour from now.
    note.badge = 3;
    note.sound = "ping.aiff";
    note.alert =  message;
    note.payload = {'messageFrom': 'Burak'}; 
    for (var i in devices) {
      device =  new apn.Device(devices[i]);
      apnConnection.pushNotification(note, device);
    }

    res.send(200,'Successfull')
}
4

1 回答 1

1

你一直在说不同的话。你先说:

如果我写\ue48d,对于云字符,服务器将其视为字符串 '\ue48d'。

现在你说

我写“\e415 你好!” 到消息字段。

冒着指出明显的风险\ue48d!=\e415

JSON 中的 UTF8 字符使用 \u 进行编码,然后字符代码 ie\ue48d是要以 JSON 格式发送到手机的有效字符。\e415不是,这就是为什么您的手机没有将其显示为表情符号字符的原因。

那么,当您发送'\ue48d'到手机时,您的手机会看到什么?即,当您将原始正确编码的字符串发送给它时,它会看到什么。

编辑

如果它在您从服务器发送正确编码的字符串时起作用,那么您可能只需要解码发送到服务器的消息,然后再将其发送回即

消息 = JSON.parse(消息);

如果您的服务器收到的消息只是一个字符串,那么它应该可以按原样工作。如果消息是数组或对象,那么您需要选择适当的条目作为消息发送到手机。

于 2013-06-16T20:52:34.777 回答