ios文件转nsdata|IOS开发写入文件路径问题

A. iphone自带的ipod里面的音乐如何转成NSData

自己输入的播放列表吗?如果这样可以直接通过文件地址转为nsdata类型

B. ios开发fmdb存放nsdata怎么写

NSData-> NSStringNSString *aString = [[NSString alloc] initWithData:adata encoding:NSUTF8StringEncoding];NSString->NSDataNSString *aString = @"1234abcd";NSData *aData = [aString dataUsingEncoding: NSUTF8StringEncoding];2.NSData 与 ByteNSData-> Byte数组NSString *testString = @"1234567890";NSData *testData = [testString dataUsingEncoding: NSUTF8StringEncoding];Byte *testByte = (Byte *)[testData bytes];for(int i=0;i<[testData length];i++)printf("testByte = %d\n",testByte[i]);Byte数组-> NSDataByte 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];Byte数组->16进制数Byte *bytes = (Byte *)[aData bytes];NSString *[email protected]"";for(int i=0;i<[encryData length];i++){NSString *newHexStr = [NSString stringWithFormat:@"%x",bytes[i]&0xff]; ///16进制数if([newHexStr length]==1)hexStr = [NSString stringWithFormat:@"%@0%@",hexStr,newHexStr];elsehexStr = [NSString stringWithFormat:@"%@%@",hexStr,newHexStr];}NSLog(@"bytes 的16进制数为:%@",hexStr);16进制数->Byte数组///// 将16进制数据转化成Byte 数组NSString *hexString = @"3e435fab9c34891f"; //16进制字符串int j=0;Byte bytes[128]; ///3ds key的Byte 数组, 128位for(int i=0;i<[hexString length];i++){int int_ch; /// 两位16进制数转化后的10进制数unichar hex_char1 = [hexString characterAtIndex:i]; ////两位16进制数中的第一位(高位*16)int int_ch1;if(hex_char1 >= '0' && hex_char1 <='9')int_ch1 = (hex_char1-48)*16; //// 0 的Ascll – 48else if(hex_char1 >= 'A' && hex_char1 <='F')int_ch1 = (hex_char1-55)*16; //// A 的Ascll – 65elseint_ch1 = (hex_char1-87)*16; //// a 的Ascll – 97i++;unichar hex_char2 = [hexString characterAtIndex:i]; ///两位16进制数中的第二位(低位)int int_ch2;if(hex_char2 >= '0' && hex_char2 <='9')int_ch2 = (hex_char2-48); //// 0 的Ascll – 48else if(hex_char1 >= 'A' && hex_char1 <='F')int_ch2 = hex_char2-55; //// A 的Ascll – 65elseint_ch2 = hex_char2-87; //// a 的Ascll – 97int_ch = int_ch1+int_ch2;NSLog(@"int_ch=%d",int_ch);bytes[j] = int_ch; ///将转化后的数放入Byte数组里j++;}NSData *newData = [[NSData alloc] initWithBytes:bytes length:128];NSLog(@"newData=%@",newData);3. NSData 与 UIImageNSData->UIImageUIImage *aimage = [UIImage imageWithData: imageData];//例:从本地文件沙盒中取图片并转换为NSDataNSString *path = [[NSBundle mainBundle] bundlePath];NSString *name = [NSString stringWithFormat:@"ceshi.png"];NSString *finalPath = [path :name];NSData *imageData = [NSData dataWithContentsOfFile: finalPath];UIImage *aimage = [UIImage imageWithData: imageData];UIImage-> NSDataNSData *imageData = UIImagePNGRepresentation(aimae);

C. 如何释放NSData类型数据占用的内存

1.充分利用内存任何一种图像处理软件对内存的要求都很高,Photoshop也一样。如果你在使用Photoshop时,没有使用其它的一些大软件,这时你就可以将Photoshop占用内存资源的比例提高。方法是:进行Photoshop,选择菜单下File\Preference\Memory & Image Cache命令,将Used by Photoshop的比例提高到80%~90%即可。2.指定虚拟内存在处理Photoshop时,内存被用完是很正常的,到时会大大影响Photoshop处理图像的时间,哪将怎么解决呢?方法是:你可以用硬盘来作为内存来使用,也就是常说的虚拟内存。请选择菜单下“File\Preference\Plug-Ins & Scratch Disks”命令。在这里的Scratch Disks下,你可以在硬盘上指定四个驱动器来作为虚拟内存,软件默认的虚拟内存是在谨祥宴Windows\temp之下。当第一个虚拟内存被使用光之后,Photoshop会自动去使用第二个Scratch Dsik,这样就提高了执行速度。3.释放内存与硬盘空间在进行图像处理时,你所进行的所有操作将会记录在Photoshop的History(历史记录)工作板中。这些操作包括:复制到Clipboard(粘贴板)、Undo(恢复)、Pattern(填充物)、Histories(记录)等几种,选择菜单下“Edit\Purge”命令。进行这些操作之后,Photoshop会将这些图像和数据保存在内存里,使用该命令后,即将这些被占用的内存空间释放出来(RAM:Oh! Freeden)这样就让Photoshop有更多的Resource(资源)可用,自然就提高了效率。但注意,如果这些操作占用的内存比较少时,就没有必要使用啦!除此之外,祥银在处理大型图片时,Photoshop会自动产生一些宴陆临时文件,一般都很大,如果你处理的是一个20MB大小的宣传画时,那么临时文件可能就是100~150MB。请在Windows\temp或在你设定虚拟内存的驱动器里,将产生的Photoshop临时文件*.tmp删除掉。

D. iOS沙盒路径下文件转NSData为空

NSData *data= [NSData dataWithContentsOfFile:@"文件沙盒全路径"模神]; 这个方法返回的data是空的,网上看了好多方滑握法复杂也没用,所以就自己试着写了一个方法: 1、先转URL:NSURL*imgurl = [NSURLURLWithString:imgUrl]; 2、再data化信码庆:NSData *data =[[NSData dataWithContentsOfURL:imgurl]; 如果您你有更好的方法,欢迎留言分享给大家!

E. IOS 视频文件怎么转换成NSData 再从NSData转换成视频文件

把MP3换成MP4就行了,

F. Swift – 从ALAsset中获取照片的原图并转换成NSData

ALAsset类代表相册中的每个资源文件,可以通过它获取照片的相关信息,及其对应的原图宏绝,全屏图,缩略图等。 当我们想通过一升绝此个照片的ALAsset对象,来获取这张照片的原图并将其转换成NSData数据,有如下两种方法: 方法一:将其转换成UIImage对象,再通过UIImageJPEGRepresentation或UIImagePNGRepresentation方法转成NSData 这种方法不推荐,因为这个其实对图吵迅片进行了压缩转换,不再是图片的原始数据(像如果是gif动态图会变成静态图片),同时照片原来附带的拍摄信息什么的也会丢失。

方法二:直接复制图片的字节数据 推荐,这样得到的是实际的数据

缩略图获取

原文出自: www.hangge.com

G. objective-c如何将文件中内容转化为NSData

代码如帆裤下银凯: NSData *fileData = [NSData dataWithContentsOfFile:@"/态搏简tmp/123.txt"];

H. 如何将String转换成UInt8或NSData

1、在Xcode中Swift或Objective-C源文件里写上NSString2、用option+鼠标左键点击NSString,然后会弹出这个类的介笑毕空绍3、点碰瞎击Class Reference,就能看到文档数敏里关于NSString所有方法,其中就包括了NSString转换成UInt8或NSData的方法。

I. IOS开发写入文件路径问题

NSString *path=[NSString stringWithFormat:@"%@/livefile.%@",[[NSBundle mainBundle] resourcePath],[[rl path] pathExtension]];BOOL isosd = [dd writeToURL:[NSURL URLWithString:path] options:NSDataWritingAtomic error:&error1];这样写文件如果在非越狱机上调试 会失败 提示用户权限有问题 这样应该是违背了所谓的沙箱原理NSArray *paths = (NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0];NSString *writableDBPath = [documentsDirectory :@"livefile.mp3"];BOOL isosd = [dd writeToFile:writableDBPath atomically:YES];这样些则无问题!


赞 (0)