根据 NSHTTPURLResponse 获取编码格式

根据服务器返回的 NSHTTPURLResponse 获取数据编码格式:

- (NSStringEncoding)stringEncodingWithResponse:(NSHTTPURLResponse *)response {
    NSStringEncoding stringEncoding = NSUTF8StringEncoding;
    if (response.textEncodingName) {
        CFStringEncoding encoding = CFStringConvertIANACharSetNameToEncoding((CFStringRef)response.textEncodingName);
        if (encoding != kCFStringEncodingInvalidId) {
            stringEncoding = CFStringConvertEncodingToNSStringEncoding(encoding);
        }
    }
    return stringEncoding;
}

获取编码格式之后,就可以正确的解析服务器返回的数据了。

// data 为服务器返回的数据,stringEncoding 可以用上面的方法获取
NSString *string = [[NSString alloc] initWithData:data encoding:stringEncoding];

AFNetworking (3.1.0) 中有相关代码。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,773评论 19 139
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,296评论 4 61
  • 栖月阅读 1,072评论 0 0
  • 我说,我是为了爱而看简书的,你相信吗? 之前一直都不知道简书是个什么样的平台,是一个什么样的存在,能让她那么喜欢,...
    浅浅落落阅读 3,449评论 8 4
  • 联机时代,人人都不再是孤立的个体。电话、微信、视频已经占据了现代社会社交的大半壁江山。 在有网络的情况下,只要你愿...
    moka莫卡阅读 2,271评论 6 3