- (void)viewDidLoad
{
[superviewDidLoad];
NSURL *url = [NSURLURLWithString:@"http://fw.qq.com/ipaddress"];
NSMutableURLRequest *request = [NSMutableURLRequestrequestWithURL:url];
[request setHTTPMethod:@"GET"];
[requestsetTimeoutInterval:8.0f];
NSHTTPURLResponse *response;
//返回的是GBK编码
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:&responseerror:nil];
if (200 == [response statusCode]) {
//直接转,将会产生乱码或者字符串为空 NSUTF8StringEncoding
NSString *temp1 = [[NSStringalloc] initWithData:returnDataencoding:NSUTF8StringEncoding];
// NSASCIIStringEncoding
NSString *temp2 = [[NSStringalloc] initWithData:returnDataencoding:NSASCIIStringEncoding];
NSLog(@"---------temp1---%@",temp1);
NSLog(@"---------temp2---%@",temp2);
NSLog(@"-------------------------------------");
// 一、 GBK编码 (通过CFStringCreateWithBytes转码)
CFStringRef GBKCFstirng =CFStringCreateWithBytes(NULL,[returnDatabytes], [returnData length],kCFStringEncodingGB_18030_2000,false);
NSString *gbkNSString1 = (NSString *)GBKCFstirng;
NSLog(@"--gbkNSString1---%@",gbkNSString1);
// 二、 GBK编码 (通过CFStringConvertEncodingToNSStringEncoding转码)
NSStringEncoding nsEncoding =CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
NSString *gbkNSString2 = [[NSString alloc] initWithData:returnData encoding:nsEncoding];
NSLog(@"--gbkNSString2---%@",gbkNSString2);
NSLog(@"-------------------------------------");
//转成NSUTF8StringEncoding的字符串
NSData *tempdata = [gbkNSString1 dataUsingEncoding:NSUTF8StringEncoding];
NSString *UTF8_NSString = [[NSStringalloc] initWithData:tempdataencoding:NSUTF8StringEncoding];
NSLog(@"--UTF8_NSString--%@",UTF8_NSString);
}
}