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 *hexStr=@"";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源文件里寫上NSString
2、用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];
這樣些則無問題!