Object-C 中各数据类型转换 NSData NSMutableData NSString Byte UIImage 合并音频

本文介绍iOS开发中常见的数据类型转换方法,包括NSData与其他类型如NSString、UIImage的互相转换,并提供音频文件合并的具体实现步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,NSData 与 NSString

 NSData –> NSString

  NSString *aString = [[NSString alloc] initWithData:adata encoding:NSUTF8StringEncoding];
  • 1
  • 1

 NSString –> NSData

  NSString *aString = @"1234";
  NSData *aData = [aString dataUsingEncoding: NSUTF8StringEncoding];
  • 1
  • 2
  • 1
  • 2

2,NSData 与 Byte 
   
NSData –> Byte

  NSString *testString = @"1234567890";
  NSData *testData = [testString dataUsingEncoding: NSUTF8StringEncoding];
  Byte *testByte = (Byte *)[testData bytes];
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

   
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];
  • 1
  • 2
  • 1
  • 2

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];
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

 UIImage-> NSData

 NSData *imageData = UIImagePNGRepresentation(aimae);
  • 1
  • 1

4,NSData 与 NSMutableData 
  

NSData --> MSMutableData
  NSData *data=[[NSData alloc]init];
 [[NSMutableData alloc]initWithData:data];
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

5,合并音频


     //音频文件路径
         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];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值