NSData,NSImage,NSDictionary,NSString,NSURL 等等互相转换

来源:互联网 发布:淘宝到家怎么样 编辑:程序博客网 时间:2024/06/07 21:49

一:NSString和NSURL 转换

//NSString->NSURL  NSString *urlString=[@"http://www.baidu.com" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];  NSURL *url=[NSURL URLWithString:urlString];   //NSURL->NSString   NSString *urlString=[[url absoluteString] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringE

二:NSString和NSData转换

//NSData-> NSString  NSString *testString = [[NSString alloc] initWithData:testData encoding:NSUTF8StringEncoding];  //NSString->NSData  NSString *aString = @"str to data<span style="font-family: 'Comic Sans MS';">";  </span>
NSData *testData = [testString dataUsingEncoding: NSUTF8StringEncoding];  

三:NSData和NSImage转换

//NSData->UIImage  UIImage *testImage = [UIImage imageWithData: imageData];  //UIImage->NSData  NSData *imageData = UIImagePNGRepresentation(testImage)  //或者  NSData *imageData = UIImageJPEGRepresentation(testImage,1.0)  

四:NSData和NSDictionary转换

//NSData-->NSDictionary  NSDictionary *testDict = [NSJSONSerialization JSONObjectWithData:testData options:NSJSONReadingMutableContainers error:nil]  //或者  NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:testData];    NSDictionary *myDictionary = [[unarchiver decodeObjectForKey:@"Some Key Value"] retain];    [unarchiver finishDecoding];  //NSDictionay --> NSData  NSMutableData *data = [[NSMutableData alloc] init];    NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];    [archiver encodeObject:params forKey:@"Some Key Value"];    [archiver finishEncoding];  

五:NSDictionary和JSON转换

//NSDictionary -> JSON:  //这个方法是SBJson类库里的,需要导入SBJson.h  NSString *jsonStr=[dict JSONRepresentation];  //建议(特别是http取回来的jsonStr转换如下)  //JSON->NSDictionary:  NSData *jsonData = [testJsonStr dataUsingEncoding:NSUTF8StringEncoding];  NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:nil]  


0 0
原创粉丝点击