2017-05-26 42 views
0

我正在为iOS设计一个简单的无线电流应用程序。我retriving歌名用的志愿观察:流标题错误编码

if ([keyPath isEqualToString:@"timedMetadata"]) 
    { 

     for (AVMetadataItem* metadata in playerItem.timedMetadata) 
     { 
      if([metadata.commonKey isEqualToString:@"title"]){ 


      } 
     } 
    } 

有了这个代码,我可以拿到冠军。反正磨片有一些characthers我有这样的结果:

deep grounder feat virÃ;g 

,而不是

deep grounder feat viràg 

所以我想任何解决方案,以打印正确的结果在屏幕上。我也尝试过:

NSString *StringaPassata=[NSString stringWithFormat:@"%@",@"deep grounder feat virÃ;g"];    
NSData *data = [stringFromUTFString dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:YES];    NSString *newStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 

字符串保持不变...我没有控制输出流的服务器。为了测试我在NSString中存储的转换,它是从服务器下载时导致问题的字符串。 如何将字符串转换为正确的“à”?

回答

0

试试这个片段我已经尝试过了

NSString *strYourKey = @"deep grounder feat viràg"; 
NSData *data = [strYourKey dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 
NSString *dataToString = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding]; 
NSLog(@"Your Converted Text is : %@", dataToString); 

输出

[12134:168898] Your Converted Text is : deep grounder feat virag 
+0

谢谢你,但我必须将文本转换为“深地滚球壮举维拉; G”不是“深滚球壮举维拉格” – user31929

+0

@ user31929你能描述一下你需要什么输出吗?输入: - “deep grounder featvirÃ; g”输出: - “深地滚球壮举virA; g”(片段输出) –

+0

输入: - “深地滚球专长virÃ; g”输出: - “深地滚球专长viràg” – user31929