根据 NSHTTPURLResponse 获取编码格式
2016-11-15 本文已影响28人
fuyoufang
根据服务器返回的 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)
中有相关代码。