FILExt - The File Extension Source

原创 2004年07月15日 20:33:00
    在开发图片压缩服务的过程中遇到了一个问题:当图片服务器上的文件的扩展名不规范时(例如有些jpeg 文件的扩展名为.gif、有些文件的扩展名为".img",".10" 等等),图片压缩的程序从图片服务器请求这些文件,那么response 中的Content-Type 就存在问题,往往Content-Type 的内容与图片并不一致,甚至得到竟然是text/plain 之类的结果,从而导致无法选择恰当的编解码器对图片进行处理。
最后在 google 中搜到了 FILExt ,他的资料库中存储了上万种文件扩展名的相关信息,如对应的MimeType 、File Classification 等等,最重要的是里面有可以确定一个文件的文件类型的特征码(Identifier Characters),即文件的前n个字节,用这n个字节可以准确的辨认出文件的类型。

FILExt - The File Extension Source (http://filext.com/index.php)
FILExt is a detailed database of file extensions and programs that use them.
截至到2004-07-15,FILExt 中已经有了16828 条记录;你甚至可以通过FILExt 的blog 向FILExt 的库中添加你所掌握的某种新型文件的相关信息。

下面是在FileExt 查询gif 后得到结果
Extension: GIF
Program and/or Extension Function What's This? Company What's This?
Graphic Interchange Format
Specific Notes What's This?
Graphic files in .GIF format can be manipulated by a large number of programs. Some programs, e.g., Fractint, us the GIF header to store program information so that when the file is opened the program sets itself to the state it was in when the file was last edited.
MIME Type What's This? File Classification What's This? Associated Links What's This?
image/gif
image/x-xbitmap
image/gi_
 
Identifying Characters What's This?
Hex: 47 49 46 38
ASCII: GIF8
or for GIF87a...
Hex: 47 49 46 38 37 61
ASCII: GIF87a
or for GIF89a...
Hex: 47 49 46 38 39 61
ASCII: GIF89a
Program ID What's This?
(None or Unknown)
General Notes What's This?
Various programs use this extension; too many to list individually. Take clues from the location of the file as a possible pointer to exactly which program is producing the file. The file's date and time can also help if you know which programs you were running when the file was written.
This is record 5048 last modified on 2004-02-02.

下面是从FILExt 中查到的另外几种常见图片的文件(bmp、jpeg、png、tiff)标识信息。
----------------------------
image/gif
image/x-xbitmap
image/gi_
Hex: 47 49 46 38
ASCII: GIF8
or for GIF87a...
Hex: 47 49 46 38 37 61
ASCII: GIF87a
or for GIF89a...
............................
Hex: 47 49 46 38 39 61
ASCII: GIF89a
----------------------------

----------------------------
image/jpeg
image/jpg
image/jp_
application/jpg
application/x-jpg
image/pjpeg
image/pipeg
image/vnd.swiftview-jpeg
image/x-xbitmap
............................
Hex: FF D8 FF
ASCII:
----------------------------

----------------------------
image/bmp
image/x-bmp
image/x-bitmap
image/x-xbitmap
image/x-win-bitmap
image/x-windows-bmp
image/ms-bmp
image/x-ms-bmp
application/bmp
application/x-bmp
application/x-win-bitmap
application/preview
............................
Hex: 42 4D
ASCII: BM
----------------------------

----------------------------
image/png
application/png
application/x-png
............................
Hex: 89 50 4E 47 0D 0A 1A 0A 00 00 00 0D 49 48 44 52
ASCII: .PNG........IHDR
----------------------------

----------------------------
image/tif
image/x-tif
image/tiff
image/x-tiff
application/tif
application/x-tif
application/tiff
application/x-tiff
............................
Hex: 49 49 2A 00
ASCII:
----------------------------

postman的安装

postman的下载地址: http://chromecj.com/web-development/2014-09/60/download.html 某些用户在Chrome插件网下载了Ch...
  • lcathm
  • lcathm
  • 2015年11月03日 11:12
  • 2773

iOS8之后创建Action Extension应用扩展

对于Action Extension,可能是扩展性最高Extension了,试想我们可以在其他应用中将信息通过Action Extension传递譬如选中的文字到另一个APP,是不是很爽,举个例子: ...
  • u010731949
  • u010731949
  • 2016年05月19日 19:51
  • 1497

20130221-STM32关于各种头文件No such file or directory的详细解决方法

初学STM32经常学习会网上找的例程,或是买的开发板带的例程等等,经常在编译的时候遇到 ..\User\stm32f10x_it.c(26): error:  #5: cannot open sou...
  • sy_lixiang
  • sy_lixiang
  • 2013年02月21日 13:49
  • 14709

failed to open file mysql,导入mysql数据库打不开的解决办法

使用mysql导入数据库时很不凑巧的出现: Failed to open file 'xxx.sql', error: 2 主要的原因在于mysql没权限读取你指定导入盘符的权限。 so 我们此...
  • zch501157081
  • zch501157081
  • 2016年05月09日 11:15
  • 3597

Quartus警告分析 warning(常遇到的…

1.Found clock-sensitive change during active clock edge at time on register ""  原因:vector source fil...
  • originalsinQ
  • originalsinQ
  • 2014年03月04日 13:50
  • 820

PHP学习笔记之上传文件

创建一个文件上传表单允许用户从表单上传文件是非常有用的。 请看下面这个供上传文件的 HTML 表单: 菜鸟教程(runoob.com) ...
  • zhou568069476
  • zhou568069476
  • 2016年09月25日 18:42
  • 384

chrome插件-离线安装

转:http://chromecj.com/utilities/2014-09/181.html 怎么在谷歌浏览器中安装.crx扩展名的离线Chrome插件? 在用户使用谷歌浏览器安装Chro...
  • zhangmiaoping23
  • zhangmiaoping23
  • 2015年09月14日 15:26
  • 1224

puppet自动化运维之file资源

http://my.oschina.net/fufangchun/blog/226098 puppet自动化运维之file资源 作用: ①.支持文件和目录的操作; ②.设置文件及目...
  • mituan1234567
  • mituan1234567
  • 2016年08月01日 18:59
  • 333

Linux下禅道项目管理软件安装

Linux下搭建禅道 1.准备安装所需的包 1)网上下载开源包: httpd-2.4.2.tar.gz mysql-5.6.4-m7.tar.gz libxml2-2.6.19.ta...
  • hunterno4
  • hunterno4
  • 2013年03月15日 22:47
  • 15664

一次多线程debug经历

关键词:strcmo-sse2-unaligned.S 在Linux下学习多线程编程,却出现了一个莫名奇妙的错误。如下:Can't find a source file at "build/glib...
  • dp_huang
  • dp_huang
  • 2017年07月06日 11:13
  • 500
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:FILExt - The File Extension Source
举报原因:
原因补充:

(最多只允许输入30个字)