Ios UILabel不显示表情符号

Ios UILabel不显示表情符号,ios,objective-c,uilabel,emoji,Ios,Objective C,Uilabel,Emoji,我在UILabel中显示表情符号时遇到了一个问题。 我从web服务获取此数据(我无法更改获取数据的方式): 此值来自调试器: __NSCFString * @"emoji \\ud83d\\ude1b\\ud83d\\ude1d" 0x000000017405ea80 NSLog中的值: emoji \ud83d\ude1b\ud83d\ude1d 如果我将此值指定给UILabel文本属性,我会在屏幕上看到: emoji \ud83d\ude1b\ud83d\ude1d 我试图使用

我在UILabel中显示表情符号时遇到了一个问题。 我从web服务获取此数据(我无法更改获取数据的方式): 此值来自调试器:

__NSCFString *  @"emoji \\ud83d\\ude1b\\ud83d\\ude1d"   0x000000017405ea80 
NSLog中的值:

emoji \ud83d\ude1b\ud83d\ude1d
如果我将此值指定给UILabel文本属性,我会在屏幕上看到:

emoji \ud83d\ude1b\ud83d\ude1d
我试图使用以下方法对字符串进行编码和解码:

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];
我在屏幕上得到表情符号,但如果字符串中没有表情符号,它将为零,并在设备上得到空标签

我不能让它正常工作


感谢您的帮助。

请尝试使用以下设置您的
ui标签:

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

我试过你的密码,第二个。。它工作得很好:

以下是我所拥有的:

以及输出:

删除表情符号字符串
\\ud83d\\ude1b\\ud83d\\ud1d
只需离开
emoji

这是使用模拟器,我想知道错误只出现在设备上?在模拟器中工作时

谢谢,伙计,但是为什么没有表情符号时字符串是零呢?@MikeMorris,对我来说不是零。。我不知道是什么原因导致了这种情况,试着看看这可能与你的问题有关。。但是我不认为你的字符串是非ascii的。。隐马尔可夫模型。。我相信你的问题是不同的。不,谢谢你的支持。我关闭问题,我存储字符串值,然后如果是表情符号字符串,我使用存储值。