我有幾個位置的列表,其中一些位置包含字母æ,Æ,ø,Ø,å和Å。 從我使用的webservice中,這些字母出現爲「& oslash;」 「& Aring;」等等。解碼iPhone上的HTML實體
當我從web服務下載feed時,我使用UTF-8編碼。
如何解碼這些字符的出現?
謝謝!
我有幾個位置的列表,其中一些位置包含字母æ,Æ,ø,Ø,å和Å。 從我使用的webservice中,這些字母出現爲「& oslash;」 「& Aring;」等等。解碼iPhone上的HTML實體
當我從web服務下載feed時,我使用UTF-8編碼。
如何解碼這些字符的出現?
謝謝!
沒有標準的方式,使之簡單寫自己的自定義方法(或NSString的擴展名),這樣做:
string = [string stringByReplacingOccurrencesOfString:@"&" withString:@"&"];
如果你的webservice使用的是utf8,並且你使用[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]
來解碼數據,一切都應該沒問題。
根據他的問題,他的web服務正在發送html編碼的文本。流是UTF-8的事實是無關緊要的。如果他按照這裏所述創建了字符串,那麼'ø'不會變成Ø,它只是8個字符,UTF-8編碼的字符串'ø' – 2012-01-04 09:02:04
我的不好,它實際上是html編碼的這是問題,我同意你的看法。 – Zoleas 2012-01-04 09:16:34
一個NSString的類名爲「GTMNSString + HTML」,由谷歌書面完全適用於我。看看這裏:https://gist.github.com/takuma104/ntlniph/blob/master/gtm/Foundation/GTMNSString+HTML.h &這裏:https://gist.github.com/takuma104/ntlniph/blob/master/gtm/Foundation/GTMNSString+HTML.m
想想這個線程應該有所幫助:http://stackoverflow.com/questions/803676/encode-nsstring-for-xml-html – 2012-01-04 08:51:54
讓您的網絡服務提供商發送飼料以非html編碼的UTF-8編碼。 – 2012-01-04 08:54:05
[Objective C HTML escape/unescape]可能的重複(http://stackoverflow.com/questions/659602/objective-c-html-escape-unescape) – rckoenes 2012-01-04 09:16:13