将未知编码的 NSData 网页转换为 NSString
Convert NSData webpage with unknown encoding to NSString
在我的应用程序中,用户可以保存网页。在请求之后,我做:
NSString(data:responseData, encoding: NSUTF8StringEncoding)
将我的 NSData
回复转换为 NSString
。但是有些页面有 NSWindowsCP1251StringEncoding
编码,或者其他的,以及函数 returns 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
}
在我的应用程序中,用户可以保存网页。在请求之后,我做:
NSString(data:responseData, encoding: NSUTF8StringEncoding)
将我的 NSData
回复转换为 NSString
。但是有些页面有 NSWindowsCP1251StringEncoding
编码,或者其他的,以及函数 returns 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
}