Ios 将表情符号发送到后端并将其取回

Ios 将表情符号发送到后端并将其取回,ios,unicode,utf-8,emoji,Ios,Unicode,Utf 8,Emoji,我需要发送一个可能包含表情符号的NSString到我的后端,然后将其取回。 这个应用程序Android版本的开发人员正在发送格式为“\\ud83d\\udcfb”的表情符号,因此我使用以下代码对文本进行编码: NSString *uniText = [NSString stringWithCString:[textToEncode cStringUsingEncoding:NSNonLossyASCIIStringEncoding] encoding:NSUTF8StringEncoding];

我需要发送一个可能包含表情符号的NSString到我的后端,然后将其取回。 这个应用程序Android版本的开发人员正在发送格式为“\\ud83d\\udcfb”的表情符号,因此我使用以下代码对文本进行编码:

NSString *uniText = [NSString stringWithCString:[textToEncode cStringUsingEncoding:NSNonLossyASCIIStringEncoding] encoding:NSUTF8StringEncoding];
问题是,当我从后端取回它时,我会得到类似“ud83dudcfb”的东西,然后我无法将它转换回表情符号

Android的家伙说我需要发送4个“\”,比如“\\\\ud83d\\\\udcf”,但我不知道怎么做

我不认为在每段代码之前创建一个循环来添加两个反斜杠是一个好的解决方案


有什么想法吗?

将表情符号转换为unicode-

NSData *data = [text dataUsingEncoding:NSNonLossyASCIIStringEncoding];
NSString *Value = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
将unicode转换为表情符号-

NSData *data = [text dataUsingEncoding:NSUTF8StringEncoding];
NSString *Value = [[NSString alloc] initWithData:data encoding:NSNonLossyASCIIStringEncoding];

希望这有助于将表情符号转换为unicode-

NSData *data = [text dataUsingEncoding:NSNonLossyASCIIStringEncoding];
NSString *Value = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
将unicode转换为表情符号-

NSData *data = [text dataUsingEncoding:NSUTF8StringEncoding];
NSString *Value = [[NSString alloc] initWithData:data encoding:NSNonLossyASCIIStringEncoding];

希望这有帮助

我也有同样的问题:数据被正确地发送到服务器,但当我取回数据时,它看起来是这样的:@“一些表情符号…U2764UFE0FUD8348”,因此unicode到表情符号转换器没有什么可转换的。您需要检查服务器上保存的字符串是否与您发送的匹配。在这个字符串U2764UFE0FUD8348中,如何添加“\”用户也可以将其作为普通字符串键入。这就是问题所在。我不知道为什么,但服务器只是去除了反斜杠。在将字符串发送到服务器之前,我必须再添加几个字符串,但我确实使用了您的代码对文本进行编码和解码,因此我将接受您的答案。谢谢。我也有同样的问题:数据被正确地发送到服务器,但当我取回数据时,它看起来是这样的:@“一些表情符号…U2764UFE0FUD8348”,因此unicode到表情符号转换器没有任何要转换的内容。您需要检查服务器上保存的字符串是否与您发送的内容匹配。在这个字符串U2764UFE0FUD8348中,如何添加“\”用户也可以将其作为普通字符串键入。这就是问题所在。我不知道为什么,但服务器只是去除了反斜杠。在将字符串发送到服务器之前,我必须再添加几个字符串,但我确实使用了您的代码对文本进行编码和解码,因此我将接受您的答案。非常感谢。