博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
推断图片格式
阅读量:6624 次
发布时间:2019-06-25

本文共 760 字,大约阅读时间需要 2 分钟。

Linux/Unix下系统推断文件类型并不根据文件名称,也即不会根据文件后缀来推断文件的类型。从网上下载了一个图片,没有后缀,希望可以正确推断出格式。以便于共享到其它平台,该怎么办呢?

不同文件类型的文件头部信息不同,比較流行的图片的格式有jpg,png, gif等,以下列出jpg。png,gif文件头(16进制):

JPEG (jpg)。文件头:FFD8FF

PNG (png),文件头:89504E47

GIF (gif),文件头:47494638

有了文件头,推断文件就非常easy了.读取图片文件头部信息,之后进行比較就可以。

有非常多已有的编辑器能够直接读取文件的二进制信息。以下使用xxd进行二进制信息读取并推断:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

#!/bin/bash

#judge image file type


#推断是否仅仅有一个參数

if 
[ 
$# 
!
1 
]

 
then 

  
echo 
"parameter error"

else

  
## 读取前3个字节与前4个字节相应的16进制

  
len3=
`xxd 
-p 
-l 
3 
$1
`

  
len4=
`xxd 
-p 
-l 
4 
$1
`

  
if 
[ 
$len3 == 
"ffd8ff" 
]

    
then

      
echo 
"The type is jpg" 

  
elif 
[ 
$len4 == 
"89504e47" 
]

    
then

       
echo 
"The type is png"

  
elif 
[ 
$len4 == 
"47494638" 
]

    
then

       
echo 
"The type is gif"

  
else

       
echo 
"The type is others"

   
fi

fi
很多其它文章请前往.

转载地址:http://qutpo.baihongyu.com/

你可能感兴趣的文章
Linux中chkconfig使用介绍
查看>>
二进制方式快速安装MySQL数据库
查看>>
Centos5上部署udev
查看>>
挑战WORD极限排版之模板与加载项
查看>>
Tomcat配置多数据源
查看>>
(转)快速搭建PHP开发环境WAMP+ZendStudio+ZendDebugger
查看>>
js string format
查看>>
httpHandlers和httpModules接口介绍 (3)
查看>>
18、C++ Primer 4th 笔记,复制控制
查看>>
《大话数据结构》第9章 排序 9.1 开场白
查看>>
Xgcalendar 新增Php demo
查看>>
poj2774
查看>>
xsi插件的安装方法
查看>>
查询指定库中所有表
查看>>
黄聪:用php判断当前用户访问网站是否为手机登录
查看>>
Flash AS3 Loader的一些总结
查看>>
.net(vs2010)调试技巧
查看>>
哈希方法
查看>>
45个纯 CSS 实现的精美边框效果【附在线演示和源码】【下篇】
查看>>
js的逻辑 OR 运算符- ||
查看>>