如何在发送到服务器(Ruby on Rails)时对表情符号进行编码?

时间:2016-05-31 12:00:11

标签: ios objective-c ruby-on-rails iphone ruby

当我将表情符号以给定格式发送到服务器“\ 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];

收到消息时。

请建议如何解决此问题

由于

2 个答案:

答案 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)