我想将表情符号从JavaScript发送到Java,然后使用Firebase云消息传递向Android和IOS应用发送通知。当我解码base64字符串得到问号时,我正在将包含表情符号的base64字符串从javascript发送到Java servlet和servlet中。 这是我的JavaScript代码,用于编码消息字段并将消息发送到servlet。
function sendNotificationToApp(message, startSession)
{
**message = window.btoa(unescape(encodeURIComponent( message )))**
var datastring = "&message="+message;
$.ajax({
type: "POST",
url: base+"/SendAppNotification",
data: datastring,
dataType: "text",
cache:false,
success: function(data)
{
data = JSON.parse(data);
if(data["error"] == null){
console.log("success")
}
},
error: function(error){
console.log("error : "+error)
}
});
}
这是我的servlet代码。
String message = URLDecoder.decode(request.getParameter("message"),"UTF-8");
byte[] data = Base64.decode(message, Base64.DEFAULT);
message = new String(data, "UTF-8");
在消息字段中,我得到了问号。任何帮助,将不胜感激。 谢谢。