在JAVA读取文件时需要处理文件的BOM头。 HTTP服务器端,读取客户端上传文件时,也需要解析BOM头。

--注意使用windowsAPI读取文件时,BOM头会自动去掉。

1、从Ultra-edit-32中提取出来的 JPEG (jpg),

文件头:FFD8FF PNG (png),

文件头:89504E47 GIF (gif),

文件头:47494638 TIFF (tif),

文件头:49492A00 Windows Bitmap (bmp),

文件头:424D CAD (dwg),文件头:41433130Adobe 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 Postscript (eps.or.ps),

文件头:252150532D41646F6265 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

二、从winhex中取出的文件头列表 File Type ExtensionsHeader JPEG jpg;jpeg 0xFFD8FF PNG png 0x89504E470D0A1A0A GIF gif GIF8 TIFF tif;tiff 0x49492A00 TIFF tif;tiff 0x4D4D002A Bit map bmp BM AOL ART art 0x4A47040E000000 AOL ART art 0x4A47030E000000 PC Paintbrush pcx 0x0A050108 Graphics Metafile wmf 0xD7CDC69A Graphics Metafile wmf 0x01000900 Graphics Metafile wmf 0x02000900 Enhanced Metafile emf 0x0100000058000000 Corel Draw cdr CDR CAD dwg 0x41433130 Adobe Photoshop psd 8BPS Rich Text Format rtf rtf XML xml HTML html;htm;php;php3;php4;phtml;shtml type Email eml Delivery-date: Outlook Express dbx 0xCFAD12FE Outlookpst!BDN MS Office/OLE2 doc;xls;dot;ppt;xla;ppa;pps;pot;msi;sdw;db 0xD0CF11E0A1B11AE1 MS Access mdb;mda;mde;mdt Standard J WordPerfect wpd 0xFF575043 OpenOffice Writer sxw writer OpenOffice Calc sxc calc OpenOffice Math sxm math OpenOffice Impress sxi impress OpenOffice Draw sxd draw Adobe FrameMaker fm <MAKERFILE PostScript eps.or.ps;ps;eps %!PS-Adobe Adobe Acrobat pdf %PDF-1. Quicken qdf 0xAC9EBD8F QuickBooks Backup qbb 0x458600000600 Sage sly.or.srt.or.slt;sly;srt;slt 0x53520100 Sage Backup 1 SAGEBACKUP Lotus WordPro v9 lwp 0x576F726450726F Lotus 123 v9 123 0x00001A00051004 Lotus 123 v5 wk4 0x00001A0002100400 Lotus 123 v3 wk3 0x00001A0000100400 Lotus 123 v1 wk1 0x2000604060 Windows Password pwl 0xE3828596 ZIP Archive zip;jar 0x504B0304 ZIP Archive (outdated) zip 0x504B3030 RAR Archive rar Rar! GZ Archive gz;tgz 0x1F8B08 BZIP Archive bz2 BZh ARJ Archive arj 0x60EA 7-ZIP Archive 7z 7z集' Wave wav WAVE AVI avi AVI Real Audio ram;ra .ra?0 Real Media rm .RMF MPEG mpg;mpeg 0x000001BA MPEG mpg;mpeg 0x000001B3 Quicktime mov moov Windows Media asf 0x3026B2758E66CF11 MIDI mid MThd Win32 Executable exe;dll;drv;vxd;sys;ocx;vbx MZ Win16 Executable exe;dll;drv;vxd;sys;ocx;vbx MZ ELF Executable elf;; 0x7F454C4601010100

文本文件DOM头与编码方式。

if (buff.Length == 0) { return ""; }if (buff[0] == 239 && buff[1] == 187 && buff[2] == 191){return Encoding.UTF8.GetString(buff, 3, buff.Length - 3);}else if (buff[0] == 255 && buff[1] == 254){return Encoding.Unicode.GetString(buff, 2, buff.Length - 2);}else if (buff[0] == 254 && buff[1] == 255){if (buff.Length > 3 && buff[2] == 0 && buff[3] == 0){return Encoding.UTF32.GetString(buff, 4, buff.Length - 4);}return Encoding.BigEndianUnicode.GetString(buff, 2, buff.Length - 2);}return encoding.GetString(buff);

BOM头识别文件类型。相关推荐

  1. java识别文件类型_在Java中识别文件类型

    我使用 Apache Tika,它使用魔术字节模式和globbing提示(文件扩展名)来识别文件类型,以检测MIME类型.它还支持对文件内容的其他解析(我不真正使用). 以下是一个简单而肮脏的例子,说 ...

  2. Linux 命令之 file 命令-识别文件类型

    文章目录 介绍 语法格式 常用选项 参考示例 (一)显示文件类型 (二)显示符号链接的文件类型 介绍 file 命令用来识别文件类型,也可用来辨别一些文件的编码格式.它是通过查看文件的头部信息来获取文 ...

  3. linux 识别文件类型,技术|Linux 中 7 个判断文件系统类型的方法

    文件通过文件系统在磁盘及分区上命名.存储.检索以及更新,文件系统是在磁盘上组织文件的方式. 文件系统分为两个部分:用户数据和元数据(文件名.创建时间.修改时间.大小以及目录层次结构中的位置等). 在本 ...

  4. Qt识别文件类型的正确姿势

    一般我们识别文件类型都是从文件的后缀区分,这样做可以识别出文件格式.但在Qt里有更好的实现方法. 以识别图片类型为例   一般识别图片类型方法: 虽然这一方法可以实现识别图片类型,但是维护起来相对困难 ...

  5. linux用file查看文件类型,Linux怎么使用file命令识别文件类型

    file是通过查看文件的头部内容,来获取文件的类型.使用file命令可以知道某个文件究竟是二进制(ELF格式)的可执行文件, 还是Shell Script文件,或者是其它的什么格式.那么Linux怎么 ...

  6. 防止文件泄露,教你如何识别文件类型

    文件类型识别是文件内容还原以及后续的文件敏感信息检测预处理过程中不可或缺的一部分,精确的文件类型识别是文件内容还原和文件敏感信息检测模型选择的关键步骤之一,它能够让我们根据不同的文件类型选择适合的文件 ...

  7. 没有扩展名也能轻松识别文件类型

    一般的情况下,我们可以通过文件的扩展名(后缀名)来判断文件的类型,从而找到打开它们的对应的程序.而因为某种原因,我们可能会得到一个文件,却是没有扩展名的,那该如何识别它呢? 一.什么是文件类型 文件格 ...

  8. Linux识别文件类型的几种方法

    对于第一次使用 Linux 命令行的用户,可能真的搞不清楚哪个是文件,哪个是目录,究其原因是很难直接通过名字看出来目录和文件的区别. 虽然从名称上不容易分辨,但是可以从颜色上进行区分.一般情况下,Li ...

  9. 通过判断流的头 判断文件类型

    图片文件 文件类型 扩展名 16进制数字 xx这里表示变量 Ascii数字 . = 不是Ascii字符 Bitmap format .bmp 42 4d BM FITS format .fits 53 ...

最新文章

  1. [PHP] PHP与Apache的模块配合说明
  2. ORACLE数据库在导入导出时序列不一致的问题
  3. 额,你在main.xml中加了一个id以后,要右键点save,才会将这个id加入到R中,否则是没有的。。。R里的东西是程序自动生成的~~~...
  4. 学习搭建 Consul 服务发现与服务网格-有丰富的示例和图片
  5. linux中线程的挂起与恢复(进程暂停)
  6. [Catalan]求解随机出栈可能数(洛谷P1044题题解,Java语言描述)
  7. 使用Fiddler对iPhone手机进行数据抓包分析
  8. java编程基础码_【Java编程的逻辑】编程基础
  9. java EXCEL或WORD转PDF转图片(base64)
  10. C语言实现多人坦克大战
  11. 百度有啊前端技术初窥
  12. LowB三人组--选择排序原理和实现
  13. c#中获得windows、system、system32等一些系统文件夹的路径
  14. 使用Keras进行图像分类
  15. Eclipse启动问题:A java runtime Environment(JRE) or java Development的解决办法
  16. 网吧台式计算机配置,详细推荐一套网吧电脑配置
  17. java源程序编译型_Java语言的源程序不是编译型的,而是编译解释型的。( )_学小易找答案...
  18. UVA12563 Jin Ge Jin Qu hao
  19. Mysql 8.0 第8章 优化
  20. cso是什么意思(医药行业cso是什么意思)

热门文章

  1. python空气质量分析与预测_python 空气质量AQI数据分析与预测 ---分析,相关系数矩阵...
  2. 微信小程序使用高德API获取位置信息
  3. (附源码)计算机毕业设计SSM租车信息管理系统
  4. 用NI的数据采集卡实现简单电子测试之1——USB-6009简介
  5. Carson带你学Android:这是一份全面详细的动画学习指南
  6. 手机照片局部放大镜_苹果常用的放大镜动画演示,引发无数人探寻究竟?
  7. 张量学习(9):主方向与主分量
  8. 健康管理师-营养学小知识
  9. mit计算机博士申请英语要求,2020年麻省理工学院博士申请条件
  10. 绿毛水怪入古格--想念阿里阿刁