如何将unicode转换为字符串?
Posted
技术标签:
【中文标题】如何将unicode转换为字符串?【英文标题】:how to convert unicode to nstring? 【发布时间】:2014-01-29 09:24:29 【问题描述】:我必须将 unicode char 转换为 NSString 我必须转换的文本是 doc.title = "hello 64 \U00bf world sample" 我的代码是:
UILabel *lblName=[[UILabel alloc]initWithFrame:CGRectMake(15, 0, 250, 88)];
const char *cString = [doc.title UTF8String];//where doc.title is above text
NSData *data = [NSData dataWithBytes:cString length:strlen(cString)];
NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
lblName.text= string;
NSLog(@"Title is = %@ \n",doc.title);
lblName.font=[UIFont boldSystemFontOfSize:16];
lblName.numberOfLines=100;
lblName.backgroundColor=[UIColor clearColor];
lblName.textColor=[UIColor colorWithRed:2.0/255.0 green:104.0/255.0 blue:170.0/255.0 alpha:1.0];
[cell.contentView addSubview:lblName];
[lblName release];
我在哪里做错了? 尝试了link,但无法正确。
【问题讨论】:
【参考方案1】:+(NSString *)getTextFromChar:(unichar)character
NSString *string = [NSString stringWithFormat:@"%C",character];
return string;
将你的 cString 传递给这个方法
【讨论】:
【参考方案2】:试试这个
char *cString[] = [doc.title UTF8String];//where doc.title is above text
NSData *data = [NSData dataWithBytes:cString length:strlen(cString)];
NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
lblName.text= string;
或者直接调用
-[NSString dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES].
【讨论】:
它打印的是“hello 64 ¿ world sample”而不是“hello 64 — world sample” u002D 代表 - 连字符减去这个 u00bf以上是关于如何将unicode转换为字符串?的主要内容,如果未能解决你的问题,请参考以下文章