项目中需要用到被人app里的一个地址,打开后发现乱码,安卓那边说导入一个文件用gb2312编码转成字符串就成功了,但是我在OC中用 NSStringEncoding gbkEncodeing = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);  NSString *str =  [[NSString alloc] initWithData:responseObject encoding: gbkEncodeing]后发现是空的,有大神能帮我解一下吗?请求地址:http://59.46.127.110/LnFarming/api/json/index?param=%257B%2522ybyjTime%2522%253A%25222017-12-11%2B17%253A14%2522%252C%2522lon%2522%253A%2522114.43957%2522%252C%2522street%2522%253A%2522%25E6%2596%25B0%25E7%259F%25B3%25E5%258C%2597%25E8%25B7%25AF%2522%252C%2522imei%2522%253A%2522860670022808520%2522%252C%2522zjzxTime%2522%253A%25222017-12-11%2B17%253A14%2522%252C%2522city%2522%253A%2522%25E7%259F%25B3%25E5%25AE%25B6%25E5%25BA%2584%25E5%25B8%2582%2522%252C%2522county%2522%253A%2522%25E6%25A1%25A5%25E8%25A5%25BF%25E5%258C%25BA%2522%252C%2522lat%2522%253A%252238.019861%2522%252C%2522pjfwTime%2522%253A%25222017-12-11%2B17%253A14%2522%257D&doctype=compress

解决方案 »

  1.   

     楼上:可以参观以下代码,可解决上述问题。
       NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding (kCFStringEncodingGB_18030_2000);//转码
        
        NSData *data = [testStr dataUsingEncoding:NSUTF8StringEncoding];//转二进制
        
        NSString *resultStr = [[NSString alloc] initWithData:data encoding:enc];//转字符串
       
        //NSString *str = [resultStr stringByAddingPercentEscapesUsingEncoding:enc];//ios9废弃
        NSString* str2=[resultStr stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];