美文网首页
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