首页 > 其他分享 >通过图片文件头判断图片格式

通过图片文件头判断图片格式

时间:2024-07-17 16:52:40浏览次数:11  
标签:文件 00 图片格式 0x00 标识 0x49 图片

今天测试公司产品的时候发现一个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

相关文章

  • AI办公自动化007:用kimi批量加密PDF文件
    文章目录一、介绍二、输入内容三、输出内容一、介绍使用kimichat实现对PDF文件进行加密二、输入内容在kimichat中输入提示词:你是一个Python编程专家,要完成一个编写Python脚本的任务,具体步骤如下:联网检索PyPDF2库的最新使用方法;打开文件夹:D:\2024-05读......
  • 购买一台云服务器,安装nvm,能够将配置全局命令链接js文件执行
    全局安装@vue/cli为什么会添加命令vuelinux或者MAC系统中通过whichvue查看vue地址,通过进入该地址查看文件发现软链接指向真实文件,真实文件同级别下的package.json中的bin字段中的名决定了输入命令vue2.全区安装@vue/cli时将包放在了node安装位置的node_modules下并且在包中的p......
  • 大侠立志传amd_ags_x64.dll丢失的修复教程:轻松教你解决amd_ags_x64.dll文件缺少问题
    当你在尝试运行《大侠立志传》或其他依赖AMD相关组件的游戏时,如果遇到了“amd_ags_x64.dll”文件丢失的错误,这可能是因为游戏需要的动态链接库(DLL)文件未被正确安装或已经损坏。以下是修复“amd_ags_x64.dll”文件丢失问题的一般步骤:步骤1:下载正确的amd_ags_x64.dll文件•首......
  • 折腾指南: 将光猫改造成你的NAS,WebDAV+网页文件管理器vList5+natmap
    原文:https://hi.imzlh.top/2024/07/18.cgi(预发布)很久没有写完全折腾类文章了,这还得追溯到上次折腾S905L3A那会。这篇文章很长,但是是小白级包学会。为什么会有这篇文章?这篇文章本来应该在4个月前就完成了,但是我一直都在折腾NAS软件其中我也尝试了很多方法,奈何时间不足断断续......
  • 001_字节码文件结构
    字节码有啥用呢?知道了字节码之后你会看到更广阔的天地。作为一个只会敲代码的打工人,你可能只会写java代码,但是知其然而不知其所以然也。大人,时代已经变了,曾经修个电脑就能上班的年代已经一去不复返。如果卷不动别人,就要被人卷。字节码概述JVM与字节码我们都知道java的出......
  • 微信保存的图片很模糊,用这个软件,秒变高清图!
    我们有时从微信下载下来的图片就是很模糊,重新加载也一样,不知道什么原因。那么有什么好的解决图片模糊的办法吗?微信保存的图片很模糊,用这个软件,秒变高清图!或者是写一个东西,需要配图,在网络上好不容易找到一张图,但是图片很小,一拉大就变模糊了,结果只好无奈舍弃。或者你需要用......
  • 2024-07-17 前端项目中assets文件夹和public文件夹的区别(来源:GPT)
    在前端项目中,assets文件夹和public文件夹都扮演着存储静态资源的重要角色,但它们之间存在一些关键的区别。以下是对这两个文件夹区别的详细分析:assets文件夹内容与用途:assets文件夹通常用于存放项目中可能会变动的静态资源,如图片、样式表(CSS文件)、JavaScript脚本、字体文件等......
  • git如何使用分支b的某个文件夹替换main分支的相同路径
    在PyCharm中,如果你没有找到“Checkoutwith...”选项,可以使用以下方法从另一个分支提取特定文件夹或文件:方法1:使用“Git”工具窗口切换到main分支点击右下角的分支名称,选择main分支并切换。获取最新的更改在菜单中,选择VCS>UpdateProject...来确保你的main......
  • Java中的分布式文件系统设计与实现
    Java中的分布式文件系统设计与实现大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!一、引言分布式文件系统是支持大规模数据存储和访问的关键基础设施之一。本文将探讨在Java语言环境中设计和实现分布式文件系统的关键技术和策略。二、分布式文件系统的......
  • 什么是硬盘逻辑损坏和文件系统错误
    硬盘逻辑损坏和文件系统错误是硬盘使用过程中可能遇到的两种常见问题,它们各自具有不同的特征和影响。一、硬盘逻辑损坏硬盘逻辑损坏是指硬盘上的文件系统或数据结构出现问题,导致系统无法正常读取或处理硬盘上的数据。这种损坏通常不涉及硬盘的物理部件(如磁头、盘片等),而是由于软......