2014-01-29 29 views
0

我必須爲Unicode字符轉換成的NSString 我必須將文本轉換爲doc.title =「你好64 \ U00bf世界樣本」 我的代碼是:如何將unicode轉換爲nstring?

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,但不能解決問題。

回答

0
+(NSString *)getTextFromChar:(unichar)character 
{ 
    NSString *string = [NSString stringWithFormat:@"%C",character]; 
    return string; 
} 

通過你的CString這種方法

+0

上面的代碼不工作 – user2798258

+0

此代碼工作的char字符串轉換 –

0

試試這個

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]. 
+0

以上代碼無效 – user2798258

+0

結果是什麼來吧 – codercat

+0

它打印「你好64¿世界樣本」,而不是「你好64 - 世界樣本」 – user2798258