3
在我的應用程序中,用戶可以保存網頁。一個請求後,我做的:將未知編碼的NSData網頁轉換爲NSString
NSString(data:responseData, encoding: NSUTF8StringEncoding)
我NSData
響應NSString
轉換。但有些頁面有NSWindowsCP1251StringEncoding
編碼或其他的東西,函數返回nil
。
如何檢測編碼?
在我的應用程序中,用戶可以保存網頁。一個請求後,我做的:將未知編碼的NSData網頁轉換爲NSString
NSString(data:responseData, encoding: NSUTF8StringEncoding)
我NSData
響應NSString
轉換。但有些頁面有NSWindowsCP1251StringEncoding
編碼或其他的東西,函數返回nil
。
如何檢測編碼?
好吧,我解決了這個名字:
var pageEncoding = NSUTF8StringEncoding
if responseHeaderFields["Content-Type"] == "text/html;charset=ISO-8859-1" {
pageEncoding = NSISOLatin1StringEncoding
}
if responseHeaderFields["Content-Type"] == "text/html;charset=windows-1251" {
pageEncoding = NSWindowsCP1251StringEncoding
}
這可能幫助:http://stackoverflow.com/a/5436507/653513(約HTTP Content-Type頭) –
,所以我需要首先檢查頭部? – Arti
我會的。儘管它仍然不是100%防彈。 CP1251頁面_應具有'Content-Type:text/html; charset = windows-1251'標頭集。 –