当我将表情符号以给定格式发送到服务器“\ ud83d \ ude0e”(表情符号unicode)时,服务器无法理解代码,并且在从服务器向设备发送推送通知时,通知未到来。 / p>
我用过:
NSData *data = [self.activeTextField.text dataUsingEncoding:NSNonLossyASCIIStringEncoding];
NSString *goodValue = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
在发送和使用时对消息(表情符号)进行编码:
NSData *data = [strReceivedMsg dataUsingEncoding:NSUTF8StringEncoding];
NSString *goodValue = [[NSString alloc] initWithData:data encoding:NSNonLossyASCIIStringEncoding];
收到消息时。
请建议如何解决此问题
由于
答案 0 :(得分:9)
NSString *string = @"This is \u00B7";
而不是\ u00B7添加你的unicode值。它的工作解决方案。
答案 1 :(得分:0)
在swift:
编码: -
let messageData = chatTextView.text.dataUsingEncoding(NSNonLossyASCIIStringEncoding)
let finalMessage = String(data: messageData!, encoding: NSUTF8StringEncoding)
解码: -
let data : NSData = str.dataUsingEncoding(NSUTF8StringEncoding)!
let message = String(data: data, encoding: NSNonLossyASCIIStringEncoding)