我遇到了一个在UILabel中显示表情符号的问题。 我从网络服务获取这些数据(我无法更改获取数据的方式): 这个值是来自调试器:
__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];
我可以在屏幕上看到表情符号,但如果一个字符串中没有表情符号,它将为空并在设备上显示空标签。
我无法使其正常工作。
感谢任何帮助。