今天测试公司产品的时候发现一个Bug,上传图片需要在允许的格式下方可上传,例如常见的Png,从GPT下载下来的图片是.png的,但确实无法上传。拿到图片后查看文件头,发现是webp格式的。
有些情况下,图片的后缀并不能真实的反应图片的格式,通过16进制能准确的判断出图片的真实格式。
事实上,所有的文件都是以二进制的形式进行存储的,本质上没有差别。在每一个文件(包括图片,视频或其他的非ASCII文件)的开头(十六进制表示)实际上都有一片区域来显示这个文件的实际用法,这就是文件头标志。
方式一:通过文件头判断
1.将一张图片的后缀修改成.txt,变成文本格式;
2.通过sublime(点击官网下载)打开这个TXT文件,显示就是十六进制码了;
// 常见的图片 文件头标志: JPEG (jpg),文件头:FFD8FF PNG (png),文件头:89504E47 GIF (gif),文件头:47494638 TIFF (tif),文件头:49492A00 Windows Bitmap (bmp),文件头:424D
1.BMP(位图):
文件头标识:BM(即 0x42, 0x4D)
2.GIF(图形交换格式):
文件头标识:GIF87a 或 GIF89a(即 0x47, 0x49, 0x46, 0x38, 0x37, 0x61 或 0x47, 0x49, 0x46, 0x38, 0x39, 0x61)
3.JPEG(联合照片专家组):
文件头标识:FF D8(即 0xFF, 0xD8)
4.PNG(便携式网络图形):
文件头标识:89 50 4E 47 0D 0A 1A 0A(即 0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A)
5.TIFF(标记图像文件格式):
文件头标识(多种):42 49 4D 00、49 49 2A 00、4D 4D 00 2A(即 0x42, 0x49, 0x4D, 0x00 或 0x49, 0x49, 0x2A, 0x00 或 0x4D, 0x4D, 0x00, 0x2A)
6.WebP(Web 图片格式):
文件头标识(多种):52 49 46 46、57 45 42 50(即 0x52, 0x49, 0x46, 0x46 或 0x57, 0x45, 0x42, 0x50)
7.ICO(图标文件格式):
文件头标识:00 00 01 00(即 0x00, 0x00, 0x01, 0x00)
8.PCX(PC 绘图文件格式):
文件头标识:0A(即 0x0A)
9.PSD(Adobe Photoshop 文件格式):
文件头标识:38 42 50 53(即 0x38, 0x42, 0x50, 0x53)
其他格式:
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 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.在线查看图片格式:https://jimpl.com/
支持本地上传与URL上传
标签:文件,00,图片格式,0x00,标识,0x49,图片 From: https://www.cnblogs.com/xiaolintongxue1/p/18286469