将emojis发送到后端并将其恢复

时间:2017-05-24 11:18:44

标签: ios unicode utf-8 emoji

我需要向我的后端发送一个可能包含表情符号的NSString,然后将其恢复。 在这个应用程序的Android版本上工作的人正在发送格式为'\\ ud83d \\ udcfb'的表情符号,所以我用这个编码我的文本:

NSString *uniText = [NSString stringWithCString:[textToEncode cStringUsingEncoding:NSNonLossyASCIIStringEncoding] encoding:NSUTF8StringEncoding];

问题在于,当我从后端取回它时,我会得到类似'ud83dudcfb'的内容,然后我无法将其转换回表情符号。

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

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

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

将表情符号转换为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];

希望这有帮助