NSData 与常见类型的转换

来源:互联网 发布:王家卫说话方式知乎 编辑:程序博客网 时间:2024/05/02 10:24
1,NSData 与 NSString  NSData --> NSString
  NSString *aString = [[NSString alloc] initWithData:adata encoding:NSUTF8StringEncoding];  NSString --> NSData  NSString *aString = @"1234";  NSData *aData = [aString dataUsingEncoding: NSUTF8StringEncoding];
2,NSData 与 Byte  NSData --> Byte
  NSString *testString = @"1234567890";  NSData *testData = [testString dataUsingEncoding: NSUTF8StringEncoding];  Byte *testByte = (Byte *)[testData bytes];
  Byte --> NSData
  Byte byte[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23};  NSData *adata = [[NSData alloc] initWithBytes:byte length:24];
3,NSData 与 UIImage  NSData --> UIImage
  UIImage *aimage = [UIImage imageWithData: imageData];  //例:从本地文件沙盒中取图片并转换为NSData  NSString *path = [[NSBundle mainBundle] bundlePath];  NSString *name = [NSString stringWithFormat:@"ceshi.png"];  NSString *finalPath = [path stringByAppendingPathComponent:name];  NSData *imageData = [NSData dataWithContentsOfFile: finalPath];  UIImage *aimage = [UIImage imageWithData: imageData];
  UIImage-> NSData  NSData *imageData = UIImagePNGRepresentation(aimae);
4,NSData 与 NSMutableData  NSData --> MSMutableData
  NSData *data=[[NSData alloc]init];  NSMutableData *mdata=[[NSMutableData alloc]init];     mdata=[NSData dataWithData:data];
5,NSData合并为一个NSMutableData
- (NSString *)filePathWithName:(NSString *)filename {         NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);         NSString *documentsDirectory = [paths objectAtIndex:0];         return [documentsDirectory stringByAppendingPathComponent:filename]; }  - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {         //音频文件路径         NSString *mp3Path1 = [[NSBundle mainBundle] pathForResource:@"1" ofType:@"mp3"];         NSString *mp3Path2 = [[NSBundle mainBundle] pathForResource:@"2" ofType:@"mp3"];         //音频数据         NSData *sound1Data = [[NSData alloc] initWithContentsOfFile: mp3Path1];         NSData *sound2Data = [[NSData alloc] initWithContentsOfFile: mp3Path2];         //合并音频         NSMutableData *sounds = [NSMutableData alloc];         [sounds appendData:sound1Data];         [sounds appendData:sound2Data];         //保存音频          NSLog(@"data length:%d", [sounds length]);          [sounds writeToFile:[self filePathWithName:@"tmp.mp3"] atomically:YES];                  [window makeKeyAndVisible];          return YES; }

原创粉丝点击