gcc 4.8.5 :centos
struct stat st;
stat 獲取文件信息
open O_RDONLY
read(fd,buffer,st.st_size);
前四個字節獲取unsigned int len =
((unsigned char)buffer[0] << 24) | ((unsigned char)buffer[1] << 16) | ((unsigned char)buffer[2] << 8) | ((unsigned char)buffer[3] )
通過或來把四個字節轉為16進制連接起來(或:| 有1既是1)
疑問:文件的字節數(st.st_size 和 len 比較有什么意義嗎??)
Maxlen = len - 262144 -4 ; 是啥意義? 2^18 == 262144 == 256 * 1024
od -N4 -t x1
test
.txt|
head
-1|
sed
-e
's/0000000//g'
-e
's/ //g'
|
tr
-d
'\n'
od -N4 -t x1
test
.txt|
head
-1|
sed
-e
's/0000000//g'
-e
's/ //g'
下面編碼和文件類型對比來自參考路徑,不確定准確性;
JPEG (jpg),文件頭:FFD8FF
PNG (png),文件頭:89504E47
GIF (gif),文件頭:47494638
TIFF (tif),文件頭:49492A00
Windows Bitmap (bmp),文件頭:424D
CAD (dwg),文件頭:41433130
Adobe Photoshop (psd),文件頭:38425053
Rich Text Format (rtf),文件頭:7B5C727466
XML (xml),文件頭:3C3F786D6C
HTML (html),文件頭:68746D6C3E
Email [thorough only] (eml),文件頭:44656C69766572792D646174653A
Outlook Express (dbx),文件頭:CFAD12FEC5FD746F
Outlook (pst),文件頭:2142444E
MS Word/Excel (xls.or.doc),文件頭:D0CF11E0
MS Access (mdb),文件頭:5374616E64617264204A
WordPerfect (wpd),文件頭:FF575043
Postscript (eps.or.ps),文件頭:252150532D41646F6265
Adobe Acrobat (pdf),文件頭:255044462D312E
Quicken (qdf),文件頭:AC9EBD8F
Windows Password (pwl),文件頭:E3828596
ZIP Archive (zip),文件頭:504B0304
RAR Archive (rar),文件頭:52617221
Wave (wav),文件頭:57415645
AVI (avi),文件頭:41564920
Real Audio (ram),文件頭:2E7261FD
Real Media (rm),文件頭:2E524D46
MPEG (mpg),文件頭:000001BA
MPEG (mpg),文件頭:000001B3
Quicktime (mov),文件頭:6D6F6F76
Windows Media (asf),文件頭:3026B2758E66CF11
MIDI (mid),文件頭:4D546864
常用文件的文件頭如下:
1. MIDI (mid),文件頭:4D546864
2. JPEG (jpg),文件頭:FFD8FF
3. PNG (png),文件頭:89504E47
4. GIF (gif),文件頭:47494638
5. TIFF (tif),文件頭:49492A00
6. Windows Bitmap (bmp),文件頭:424D
7. CAD (dwg),文件頭:41433130
8. Adobe Photoshop (psd),文件頭:38425053
9. Rich Text Format (rtf),文件頭:7B5C727466
10. XML (xml),文件頭:3C3F786D6C
11. HTML (html),文件頭:68746D6C3E
12. Email [thorough only] (eml),文件頭:44656C69766572792D646174653A
13. Outlook Express (dbx),文件頭:CFAD12FEC5FD746F
14. Outlook (pst),文件頭:2142444E
15. MS Word/Excel (xls.or.doc),文件頭:D0CF11E0
16. MS Access (mdb),文件頭:5374616E64617264204A
17. WordPerfect (wpd),文件頭:FF575043
18. Postscript (eps.or.ps),文件頭:252150532D41646F6265
19. Adobe Acrobat (pdf),文件頭:255044462D312E
20. Quicken (qdf),文件頭:AC9EBD8F
21. Windows Password (pwl),文件頭:E3828596
22. ZIP Archive (zip),文件頭:504B0304
23. RAR Archive (rar),文件頭:52617221
24. Wave (wav),文件頭:57415645
25. AVI (avi),文件頭:52494646
26. Real Audio (ram),文件頭:2E7261FD
27. Real Media (rm),文件頭:2E524D46
28. Windows Media Audio(wma)(asf),文件頭:3026b2758e66cf
29. wrf, 文件頭:574f5446000600
29. MPEG (mpg),文件頭:000001BA
30. MPEG (mpg),文件頭:000001B3
31. Quicktime (mov),文件頭:6D6F6F76
32. Windows Media (asf),文件頭:3026B2758E66CF11
參考路徑:
http://suiwnet.blog.51cto.com/2492370/1419491
http://www.oschina.net/code/snippet_128697_39191#57989
http://blog.csdn.net/gagapencil/article/details/40392363
http://www.oschina.net/question/1033955_2148033