美文网首页iOS 小册iOS Swift && Objective-C
根据 NSHTTPURLResponse 获取编码格式

根据 NSHTTPURLResponse 获取编码格式

作者: fuyoufang | 来源:发表于2016-11-15 12:29 被阅读28次

    根据服务器返回的 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) 中有相关代码。

    相关文章

      网友评论

        本文标题:根据 NSHTTPURLResponse 获取编码格式

        本文链接:https://www.haomeiwen.com/subject/tdahpttx.html