ios判斷檔案或圖片的型別
可以通過二進位制的前2位的ascii碼來進行判斷。如下:
// 255216 jpg;
// 7173 gif;
// 6677 bmp,
// 13780 png;
// 6787 swf
// 7790 exe dll,
// 8297 rar
// 8075 zip
// 55122 7z
// 6063 xml
// 6033 html
// 239187 aspx
// 117115 cs
// 119105 js
// 102100 txt
// 255254 sql
比如在下載東西的時候,從伺服器傳送過來的是二進位制data資料,需要根據二進位制判斷是什麼型別的檔案,從而進行檔案儲存工作.在ios中用OC程式碼實現如下
- (void)viewDidLoad {
[super viewDidLoad];
NSString *path = [[NSBundle mainBundle] pathForResource:@"mm"ofType:@"jpg"];
NSData *data = [NSData dataWithContentsOfFile:path];
if (data.length<2) {
return NSLog(@"NOT FILE");
}
int char1 = 0 ,char2 =0 ; //必須這樣初始化
[data getBytes:&char1 range:NSMakeRange(0, 1)];
[data getBytes:&char2 range:NSMakeRange(1, 1)];
NSLog(@"%d%d",char1,char2);
NSString *numStr = [NSString stringWithFormat:@"%i%i",char1,char2];
NSLog(@"%@",numStr);
}
輸出的是:255216,正好對應的是jpg.其他的也一樣.
如果只判斷圖片的格式,可以取圖片的第一個位元組,對應的如下
0xFF : jpg
0x89:png
0x47:gif
0x4D:tiff
程式碼:
- (void)viewDidLoad {
[super viewDidLoad];
NSString *path = [[NSBundle mainBundle] pathForResource:@"mm"ofType:@"jpg"];
NSData *data = [NSData dataWithContentsOfFile:path];
uint8_t c;
// [data getBytes:&c length:1];
[data getBytes:&c range:NSMakeRange(0, 1)];
switch (c) {
case 0xFF:
return NSLog(@"jpg");
break;
case 0x89:
return NSLog(@"png");
break;
case 0x47:
return NSLog(@"gif");
break;
case 0x4D:
return NSLog(@"tiff");
break;
default:
break;
}
}
相關文章
- Vim檔案型別判斷型別
- 正則判斷MIME 型別是否是圖片型別
- PHP判斷檔案是否為圖片的方法PHP
- js實現的判斷上傳圖片的型別JS型別
- IOS UTI統一型別識別符號:判斷檔案型別通過字尾iOS型別符號
- Python判斷上傳檔案型別Python型別
- python準確判斷檔案型別Python型別
- iOS 常用圖片格式判斷 (Swift)iOSSwift
- 如何判斷沒有字尾的檔案型別?型別
- java通過檔案頭內容判斷檔案型別Java型別
- js根據字尾判斷檔案檔案型別的程式碼JS型別
- java有沒有函式,可是判斷檔案是不是2進位制型別,如圖片?Java函式型別
- jsp頁面判斷檔案上傳型別JS型別
- Linux中用st_mode判斷檔案型別Linux型別
- ASP.NET上傳檔案對檔案型別的高階判斷ASP.NET型別
- C#上傳檔案圖片怎麼判斷格式C#
- iOS 使用正則判斷輸入型別iOS型別
- 使用帶型別判斷的比較判斷型別
- shell 判斷檔案或路徑是否存在
- Linux 中 7 個判斷檔案系統型別的方法Linux型別
- js判斷型別JS型別
- JS 型別判斷JS型別
- js中的型別判斷JS型別
- 最安全的型別判斷型別
- 用ASP.net判斷上傳檔案型別的三種方法ASP.NET型別
- VBA判斷指定的資料夾或檔案是否存在
- 判斷資料型別資料型別
- nodejs獲取檔案資訊,判斷是檔案或目錄NodeJS
- 對於MultipartFile使用tika判斷檔案型別,不會產生臨時檔案的方法型別
- js資料型別的判斷JS資料型別
- 判斷值的資料型別資料型別
- js資料型別判斷和陣列判斷JS資料型別陣列
- JavaScript判斷資料型別JavaScript資料型別
- js判斷裝置型別JS型別
- js判斷資料型別JS資料型別
- javascript資料型別判斷JavaScript資料型別
- 如何判斷變數型別變數型別
- javascript 資料型別判斷JavaScript資料型別