星空网 > 软件开发 > 操作系统

HTTP请求返回的NSData无法转换为NSString

最近在做的一个项目中有一个功能是有一个网页,模拟http请求获取到这个网页返回的相应的数据。

在请求完成后获取到的数据为NSData类型,按照我们通常的转换为NSString的方法:

NSString *str = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];

但是发现转换后的str是nil。

一开始以为获取到的data为空,可是再三确认后发现data确实有数据,之后尝试了各种转换方法都不起作用。

后来经过查询原来那个网页的编码格式为gb2312,通常的转换方法不行。

所以需要另外的编码格式进行转化,方法为:

NSStringEncoding encoding = CFStringConvertEncodingToNSStringEncoding (kCFStringEncodingGB_18030_2000);

NSString *str = [[NSString alloc] initWithData:responseData encoding:encoding];

这样就可以正确的进行NSString的转换。

其实还是自己对编码格式不熟悉才走了很多的弯路。

   




原标题:HTTP请求返回的NSData无法转换为NSString

关键词:string

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流