常见类型转换

2016-06-24  本文已影响20人  Darren_xu
1.NSData 与 NSString

NSData --> NSString

NSString aString = [[NSString alloc] initWithData:adataencoding: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; 
}
上一篇下一篇

猜你喜欢

热点阅读