美文网首页
iOS使用AFNetworking请求数据进行GBK编码(OC和

iOS使用AFNetworking请求数据进行GBK编码(OC和

作者: 遥远de年代 | 来源:发表于2016-12-23 16:53 被阅读1350次

使用AFNetworking请求数据如果网页的数据是gbk类型的话,用UTF8转换的话,结果会是nil,这个时候我们需要用gbk编码做转换,将我们通过网络请求获得的NSData数据进行如下转化:

        //GBK编码
          NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
        NSString * encodeStr = [[NSString alloc] initWithBytes:[resultdata bytes] length:[resultdata length] encoding:enc];

如果没有成功,需要写上这几句代码:

AFHTTPSessionManager * manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
manager.requestSerializer = [AFHTTPRequestSerializer serializer];

swift的写法如下

  //GBK编码
            let enc = CFStringConvertEncodingToNSStringEncoding(UInt32(CFStringEncodings.GB_18030_2000.rawValue))
            let string : String = NSString(data: responseObj as! Data, encoding: enc) as! String
           var result:String = string.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)

如果没有成功和oc一样需要设置下manager的responseSerializer和requestSerializer

相关文章

网友评论

      本文标题:iOS使用AFNetworking请求数据进行GBK编码(OC和

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