如何在Objective-c中将UTF16字符转换为UTF8表示

时间:2015-12-30 01:51:01

标签: objective-c unicode nsattributedstring

我正在尝试在UIView中绘制一个属性字符串,因为char / string是UTF16,我得到紫色背景而不仅仅是角色。我可以改变任何属性。

当打开字符资源管理器时,我会看到常规版本字符和紫罗兰色背景。当我复制粘贴字符信息时,我得到了这个:

♊︎ 双子座 Unicode:U + 264A U + FE0E,UTF-8:E2 99 8A EF B8 8E

这是绘图代码

UIFont *signFont = [UIFont fontWithName:@"Helvetica Neue" size:50];
NSAttributedString *signString = [[NSAttributedString alloc]initWithString:@"♓" attributes:@{NSForegroundColorAttributeName : [UIColor colorWithRed:248.0/255.0 green:201.0/255.0 blue:12.0/255.0 alpha:0.6],NSFontAttributeName : signFont} ];
NSLog(@"height %f",(signString.size.height));
[signString drawAtPoint:CGPointMake((self.bounds.size.width/2.0) - (signString.size.width/2.0), (self.bounds.size.height/2.0) - (signString.size.height/2.0))];

这是带有和不带紫色背景的角色的图像。

enter image description here

0 个答案:

没有答案