UILabel不显示表情符号

我正面临在UILabel中显示表情符号的问题。 我从一个Web服务获取这个数据(我不能改变我得到数据的方式):这个值来自debugging器:

__NSCFString * @"emoji \\ud83d\\ude1b\\ud83d\\ude1d" 0x000000017405ea80 

NSLog的值:

 emoji \ud83d\ude1b\ud83d\ude1d 

如果我把这个值赋给我在屏幕上的UILabel文本属性:

 emoji \ud83d\ude1b\ud83d\ude1d 

我试图编码和解码string使用:

 NSData *data = [string dataUsingEncoding:NSNonLossyASCIIStringEncoding]; NSString *dataValue = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; return dataValue; 

当我尝试:

 NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding]; NSString *output = [[NSString alloc] initWithData:data encoding:NSNonLossyASCIIStringEncoding]; 

我得到屏幕上的表情符号,但如果一个string里面没有表情符号将是零,并获得设备上的空标签。

我无法让它正常工作。

谢谢你的帮助。

我试过你的代码,第二个..它是完美的工作:

这是我有什么:

在这里输入图像说明

和输出:

在这里输入图像说明

删除表情符号string\\ud83d\\ude1b\\ud83d\\ude1d只是离开emoji 。 这是使用模拟器,我不知道错误只出现在设备上? 而在模拟器,它的工作?

尝试设置你的UILabel

 //Example [NSString stringWithUTF8String:"\ud83d"]