欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

推断图片格式

发布时间:2023/11/30 60 豆豆
生活随笔 收集整理的这篇文章主要介绍了 推断图片格式 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

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

很多其它文章请前往小胖轩.

转载于:https://www.cnblogs.com/yfceshi/p/6867193.html

总结

以上是生活随笔为你收集整理的推断图片格式的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。