【发布时间】:2015-12-02 20:45:19
【问题描述】:
在我的应用中,用户可以保存网页。请求后,我会这样做:
NSString(data:responseData, encoding: NSUTF8StringEncoding)
将我的NSData 回复转换为NSString。但是有些页面有NSWindowsCP1251StringEncoding编码,或者别的什么,函数返回nil。
如何检测编码?
【问题讨论】:
-
这可能会有所帮助:stackoverflow.com/a/5436507/653513(关于 HTTP 内容类型标头)
-
所以我需要先检查标题?
-
我愿意。虽然它仍然不是 100% 防弹的。 CP1251 页面应该设置
Content-Type: text/html;charset=windows-1251标头。 -
是的,其他页面有:"Content-Type": "text/html;charset=ISO-8859-1"
标签: ios cocoa-touch character-encoding nsstring nsdata