Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在NodeJS服务器的消息中使用表情符号发送IOS推送通知?_Node.js_Unicode_Utf 8 - Fatal编程技术网

Node.js 如何在NodeJS服务器的消息中使用表情符号发送IOS推送通知?

Node.js 如何在NodeJS服务器的消息中使用表情符号发送IOS推送通知?,node.js,unicode,utf-8,Node.js,Unicode,Utf 8,我编写了一些服务器代码来发送推送通知。我有一个表单字段,叫做message。我需要的是,在信息中添加一些表情符号 如果我写\ue48d,对于一个云字符,服务器会将其视为一个字符串'\ue48d' 我如何解码它以便在推送通知中使用它 更新:这是我的服务器代码。我想将\exxx写入表单的消息字段,并用此代码对其进行编码,然后发送到Apple exports.create = function(req, res){ var devices = req.body.devices; var

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

如果我写\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')
}

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

如果我为云字符写入\ue48d,服务器会将其视为字符串 “\ue48d”。

现在你是说

我向消息字段写入“\e415 Hello!”

冒着指出明显的
\ue48d
!=<代码>\e415

JSON中的UTF8字符的编码方式与\u类似,然后字符代码即
\ue48d
是用JSON发送到手机的有效字符
\e415
不是,这就是为什么您的手机没有将其显示为表情符号

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

编辑

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

message=JSON.parse(message)


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

请在服务器上发布用于解码JSON编码数据的代码。我已更新。我不知道如何对unicode字符串进行编码/解码。因此,当通过包含表情符号的推送消息发送时,您当前在手机上看到了什么?我会在消息字段中写入“\e415 Hello!”。在电话里,我看到同样的“\e415你好!”。Unicode字符未转换。但您说过服务器会看到“\ue48d”-当您将其发送到手机时会发生什么?对不起,应该是\ue48d。如果我发送来自表单字段的内容,我会在电话中看到\ue48d。如果我从服务器发送\ue48d,我会在手机上看到表情符号。