2017-05-26 48 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