我是通過Python製作服務器端的,它向Objective-C製作的客戶端返回一些刮到的html字符串。如何在Objective-C中轉換&#8211,&#8222等
但是,當我試圖從客戶端顯示從服務器重新調整字符串,它包含&#8211,&#8222等,但我不知道它爲什麼包含上述字符。
你有什麼想法嗎?我想用Objective-C正確轉換它們。你有什麼主意嗎?提前致謝。
我是通過Python製作服務器端的,它向Objective-C製作的客戶端返回一些刮到的html字符串。如何在Objective-C中轉換&#8211,&#8222等
但是,當我試圖從客戶端顯示從服務器重新調整字符串,它包含&#8211,&#8222等,但我不知道它爲什麼包含上述字符。
你有什麼想法嗎?我想用Objective-C正確轉換它們。你有什麼主意嗎?提前致謝。
如果你想堅持可可,你也可以嘗試使用NSAttributedString和initWithHTML:documentAttributes:
,你將失去的標記比,雖然:
NSData *data = [@"<html><p>– Test</p></html>" dataUsingEncoding:NSUTF8StringEncoding];
NSAttributedString *string = [[NSAttributedString alloc] initWithHTML:data documentAttributes:nil];
NSString *result = [string string];
感謝您的建議,但我找不到initWithHTML方法... – nobinobiru
應該在那裏: https://developer.apple.com/library/mac/#documentation/可可/參考/ ApplicationKit /班/ NSAttributedString_AppKitAdditions /參考/的reference.html –
這些HTML Entities
這裏是NSString category for HTML這裏是可用的方法:
- (NSString *)stringByConvertingHTMLToPlainText;
- (NSString *)stringByDecodingHTMLEntities;
- (NSString *)stringByEncodingHTMLEntities;
- (NSString *)stringWithNewLinesAsBRs;
- (NSString *)stringByRemovingNewLinesAndWhitespace;
那些是十進制代碼,它們是語言不可知的。我認爲你的意思是你想要他們在UTF-8 – CodaFi