您的位置:首页 > 移动开发 > Objective-C

Object-c中各种数据类型之间的转换

2012-10-06 09:47 531 查看
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;
}


6 NSString 合并

NSString* string; // 结果字符串
NSString* string1, string2; //已存在的字符串,需要将string1和string2连接起来
//方法1.
string = [NSString initWithFormat:@"%@,%@", string1, string2 ];
//方法2.
string = [string1 stringByAppendingString:string2];
//方法3 .
string = [string stringByAppendingFormat:@"%@,%@",string1, string2];


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息