2013-01-31 34 views
0

我是通過Python製作服務器端的,它向Objective-C製作的客戶端返回一些刮到的html字符串。如何在Objective-C中轉換&#8211,&#8222等

但是,當我試圖從客戶端顯示從服務器重新調整字符串,它包含&#8211,&#8222等,但我不知道它爲什麼包含上述字符。

你有什麼想法嗎?我想用Objective-C正確轉換它們。你有什麼主意嗎?提前致謝。

+0

那些是十進制代碼,它們是語言不可知的。我認爲你的意思是你想要他們在UTF-8 – CodaFi

回答

2

如果你想堅持可可,你也可以嘗試使用NSAttributedString和initWithHTML:documentAttributes:,你將失去的標記比,雖然:

NSData *data = [@"<html><p>&#8211 Test</p></html>" dataUsingEncoding:NSUTF8StringEncoding]; 
NSAttributedString *string = [[NSAttributedString alloc] initWithHTML:data documentAttributes:nil]; 
NSString *result = [string string]; 
+0

感謝您的建議,但我找不到initWithHTML方法... – nobinobiru

+0

應該在那裏: https://developer.apple.com/library/mac/#documentation/可可/參考/ ApplicationKit /班/ NSAttributedString_AppKitAdditions /參考/的reference.html –

0

這些HTML Entities
這裏是NSString category for HTML這裏是可用的方法:

- (NSString *)stringByConvertingHTMLToPlainText; 
- (NSString *)stringByDecodingHTMLEntities; 
- (NSString *)stringByEncodingHTMLEntities; 
- (NSString *)stringWithNewLinesAsBRs; 
- (NSString *)stringByRemovingNewLinesAndWhitespace;