Object-C 中各数据类型转换 NSData转NSString,Byte,UIImage

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;
 }

时间: 2024-08-08 13:51:32

Object-C 中各数据类型转换 NSData转NSString,Byte,UIImage的相关文章

js中的数据类型转换(找相应的值小案例)

js中数据类型转换是一个很频繁会用到的一部分,那么在实际案例中会出现各种的数据类型,想要满足某些条件,那还必须要不同类型的数据进行转换,今天就通过一个小例子,来找出相对应的数据类型. 先看一个一个数组,数组里的内容很复杂,包含了所有的数据类型,然后我们通过不同的条件找到相对应的内容: var arr = [ '100px', 'abc'-6, [], -98765, 34, -2, 0, '300', , function(){alert(1);}, null, document, [], tr

python中的数据类型转换

今天想要写的是python中比较简单但是又相对重要的数据类型之间的互相转换.所谓数据类型转换其实很简单,生活中就有很多的例子,比如:15+2.2=17.2,看着好像只是一次普通的数学运算,但是却存在了一次数据类型之间的转换."15"在数据类型中被称为整型,"2.2"在数据类型中则被称之为浮点型,那么在我们的程序中整型是没办法直接和浮点型的数据进行运算操作,这时候我们可爱的python就偷偷的将"15"转化成了"15.0"的浮点

Python中的数据类型转换举例及脚本统计服务器内存实例

统计系统剩余的内存 In [1]: s1 = 'abc' In [2]: help(s1.startswith) Help on built-in function startswith: startswith(...) S.startswith(prefix[, start[, end]]) -> bool Return True if S starts with the specified prefix, False otherwise. With optional start, test

JavaScript中的数据类型转换

本文中提到的“原始值”指的是undefined,null,Boolean,string和number. 本文中的对象是native对象,宿主对象(浏览器定义的对象)按照各自的算法转换. JavaScript中共有六种数据类型,Undefined.Null.Boolean.Number.String和Object. 关于类型转换,JavaScript很有趣的一点是,它会根据他期待的数据类型自动进行类型转换.也就是说,即便你不给他他想要的,他也会自己动手把你给的变成他想要的. 那么这里就有两个问题,

C#中的数据类型转换

数据类型在一定的条件下是可以相互转换的,如将int型数据转换成double型数据.C#允许使用两种转换方式:隐式转换和显式转换. 1.隐式转换 隐式转换:从类型A到类型B的转换可以在所有情况下进行,执行转换的规则非常简单,可以让编译器执行转换. 隐式转换不需要做任何工作,也不需要另外编写代码.如将int型数据转换成double型数据: int a = 10; double b = a;//隐式转换 隐式转换规则是:任何类型A,只要其取值范围完全包含在类型B的取值范围内,就可以隐式转换为类型B.基

WPF中在XAML中实现数据类型转换的两种方法

熟悉数据绑定的朋友都知道,当我们在Model中获取一个对象的数据,常常需要对其进行数据转换后显示在UI界面上,比如你用bool类型存储了一个人的性别,但是在界面上却需要经过转化后显示为男或女: 今天又把数据绑定部分又看了一下,在这里就算是做个总结吧! 方法一:当我们定义一个类,该类中又有该类类型的一个属性,那么如果我们只是在XAML中使用简单的数据绑定的话,程序就会出现问题,究其原因就是程序无法正确对该类的对象的类类型的属性无法正确转化,所以我们需要自定义一个转换类,该类继承TypeConver

int、double、boolean、char、float、long、Object等七种数据类型转换成String数据类型 用到的方法是String.valueOf();

//int.double.boolean.char.float.long.Object类型数据转换成String //int类型转换成String类型 int h=123456; String l=String.valueOf(h); System.out.println("int类型转换成String类型:"+l); //double类型转String double a=1.1; String A=String.valueOf(a); System.out.println("

Java(及C#)中的数据类型转换

在之前学到的C#中,我们数据转换时常常用到这些 1.float a=5.5f; int b=(int)a; 此时输出b等于5,舍去了小数点后面的 2.string a="123"; int b=Convert.Toint32(a); 此时输出b为123 但是如果string a="123.5f"这种不会输出123,会报错 注意这里不是toint而是Toint32,因为内置类型表里是Toint32.比如想将字符串转化为float只能写成 convert.tosingl

Python(5)_Python中的数据类型转换

自动类型转换 # 自动类型转换,隐式转换 # 不需要人工干预 # 自动类型转换多发生在运算或者是判断过程当中 intval = 123 floatval = 11.1 result = intval*floatval print(result) #if 语句 if True: print(123) 强制类型转换 # 强制类型转换,显示转换 intval =100 floatval = 91.1 result = intval + int(floatval) # 这个哥们被强了!!!哈哈,被包起来