Object-C 中各数据类型转换 NSData转NSString,Byte,UIImage
2016-12-07 13:27
543 查看
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;
}
相关文章推荐
- Objective-C学习——中文URL编码和解码
- 报错com.jacob.com.ComFailException: Can't co-create object
- Objective-C常用的函数,常数变量
- Objective-C copy(转)
- Implicit super constructor Object() is undefined for default constructor. Must define an explicit co
- 解决Attempt to invoke virtual method '...ListAdapter'on a null object reference
- ObjectMapper相关
- object-oriented programming
- git的问题(error: object file .git/objects/* is empty...)的解决方案及对git版本库文件的了解
- ECMAScript中的object
- Object类是JAVA中顶层的类,是老大。
- Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法
- objective-c的NSMutableDictionary对象数据修改测试
- ObjectStateManager 中已存在具有同一键的对象。ObjectStateManager 无法跟踪具有相同键的多个对象
- org.json.JSONException: Value of type java.lang.String cannot be converted to JSONObject
- 在arcpy中将面shp文件转换为polygon object
- objective-c的NSMutableDictionary增改删测试
- Factors in Finetuning Deep Model for Object Detection with Long-tail
- 目标检测“Speed/accuracy trade-offs for modern convolutional object detectors”
- FindObjectOfType用法