2012-12-06 88 views
0

是否有任何解決方案中使用的編碼:此代碼NSUTF8StringEncoding:如何使用NSString編碼?

NSString *aa = [[theNews objectAtIndex:indexPath.section]objectForKey:@"Title"]; 
    cell.titleLabel.text = [aa encoding:NSUTF8StringEncoding]; 

因爲我有這樣的結果

"تجارب كتابة بالعربي"; 

這是阿拉伯語詞彙

「ت ج ا ر ب ك ت ا ب ة ب ا ل ع ر ب ي 「

+1

哪裏'編碼:'方法從哪裏來的,因爲它不是的NSString的一部分。 – Abizern

+0

[編碼:NSUTF8StringEncoding];我知道這是錯誤的,所以我要求一種方式:) – NamshanNet

+0

問題是,你正在分配創建一個字符串,然後試圖發送它的編碼信息,它不會迴應。我很驚訝這甚至編譯乾淨。你爲什麼不使用字符串?你想通過搞亂編碼來完成什麼? – Abizern

回答

2

」 ت」不是UTF-8編碼。它是XML編碼的實體。它的UTF-8版本是2個字節長(0x06,後面是0x2A)。你的是一個7個字符的字符串。

你想要的工具是CFXML:

NSString * 
arabic = CFBridgingRelease(CFXMLCreateStringByUnescapingEntities(NULL, 
                   (__bridge void*)string, 
                   NULL));