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

Sending emojis to backend and getting them back

我需要将可能包含表情符号的 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];

希望对您有所帮助