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"]