AFNetworking获取返回的数据⽆法utf-8编码
AFHTTPSessionManager* manager = [AFHTTPSessionManager manager];
[manager GET:urlString parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject){
NSStringEncoding gbkEncoding = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
NSString* str = [[NSString alloc] initWithBytes:[responseObject bytes] length:[responseObject length] encoding:gbkEncoding];
}failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error){
NSLog(@"%@", error);
}];
如上,我今天在⽤AFNetworking获取新浪的股票信息时,返现返回的数据是⽆法直接⽤utf-8转码的,转码后的结果为空,然后⽤别的转码⽅式如NSASCIIStringEncoding,发现中⽂是乱码的。
url编码和utf8区别解决⽅法就是先把获取的数据给转码成gbk,因为写过java的都清楚,java的默认编码是gbk,然后就能正常的获取数据了。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论