`
houlinyan
  • 浏览: 149595 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

图片检查

    博客分类:
  • java
 
阅读更多

图片检查java代码:

 

import java.awt.Image;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

import javax.imageio.ImageIO;
 
public class ImageTypeCheck {
 
    public static String bytesToHexString(byte[] src) {
        StringBuilder stringBuilder = new StringBuilder();
        if (src == null || src.length <= 0) {
            return null;
        }
        for (int i = 0; i < src.length; i++) {
            int v = src[i] & 0xFF;
            String hv = Integer.toHexString(v);
            if (hv.length() < 2) {
                stringBuilder.append(0);
            }
            stringBuilder.append(hv);
        }
        return stringBuilder.toString();
    }
    public static void main(String[] args) throws IOException {
        String imagePath = "d:/331bf7e0723243es_1337221124649_130_130.jpg";
        File image = new File(imagePath);
        InputStream is = new FileInputStream(image);
        byte[] bt = new byte[2];
        is.read(bt);
        System.out.println(bytesToHexString(bt));
        
      
    }
}
 

将获取的结果和下面的对比,就知道是那种格式了。

 

表示不同文件类型的魔术数字

这里所说的表示不同文件类型的魔术数字,指定是文件的最开头的几个用于唯一区别其它文件类型的字节,有了这些魔术数字,我们就可以很方便的区别不同的文件,这也使得编程变得更加容易,因为我减少了我们用于区别一个文件的文件类型所要花费的时间。

比如,一个JPEG文件,它开头的一些字节可能是类似这样的”ffd8 ffe0 0010 4a46 4946 0001 0101 0047 ……JFIF…..G“,这里”ffd8“就表示了这个文件是一个JPEG类型的文件,”ffe0“表示这是JFIF类型结构。

以下例出的是一些我们常见的文件类型,以及它用于判断这种文件的类型的几个开始字节及所对尖的ASCII数字:

图片文件

文件类型 扩展名 16进制数字
xx这里表示变量 Ascii数字
. = 不是Ascii字符
Bitmap format .bmp 42 4d BM
FITS format .fits 53 49 4d 50 4c 45 SIMPLE
GIF format .gif 47 49 46 38 GIF8
Graphics Kernel System .gks 47 4b 53 4d GKSM
IRIS rgb format .rgb 01 da ..
ITC (CMU WM) format .itc f1 00 40 bb ….
JPEG File Interchange Format .jpg ff d8 ff e0 ….
NIFF (Navy TIFF) .nif 49 49 4e 31 IIN1
PM format .pm 56 49 45 57 VIEW
PNG format .png 89 50 4e 47 .PNG
Postscript format .[e]ps 25 21 %!
Sun Rasterfile .ras 59 a6 6a 95 Y.j.
Targa format .tga xx xx xx
TIFF format (Motorola – big endian) .tif 4d 4d 00 2a MM.*
TIFF format (Intel – little endian) .tif 49 49 2a 00 II*.
X11 Bitmap format .xbm xx xx
XCF Gimp file structure .xcf 67 69 6d 70 20 78 63 66 20 76 gimp xcf
Xfig format .fig 23 46 49 47 #FIG
XPM format .xpm 2f 2a 20 58 50 4d 20 2a 2f /* XPM */

压缩文件

文件类型 扩展名 16进制数字
xx这里表示变量 Ascii数字
. = 不是Ascii字符
Bzip .bz 42 5a BZ
Compress .Z 1f 9d ..
gzip format .gz 1f 8b ..
pkzip format .zip 50 4b 03 04 PK..

存档文件

文件类型 扩展名 16进制数字
xx这里表示变量 Ascii数字
. = 不是Ascii字符
TAR (pre-POSIX) .tar xx xx (a filename)
TAR (POSIX) .tar 75 73 74 61 72 ustar (offset by 257 bytes)

可执行文件

文件类型 扩展名 16进制数字
xx这里表示变量 Ascii数字
. = 不是Ascii字符
MS-DOS, OS/2 or MS Windows 4d 5a MZ
Unix elf 7f 45 4c 46 .ELF

其它文件

文件类型 扩展名 16进制数字
xx这里表示变量 Ascii数字
. = 不是Ascii字符
pgp public ring 99 00 ..
pgp security ring 95 01 ..
pgp security ring 95 00 ..
pgp encrypted data a6 00 ?.

转自:http://blog.csdn.net/fenglibing/article/details/7728275

         http://www.fenglibin.com/file_magic_numbers.html

分享到:
评论

相关推荐

    png图片检查工具

    "png图片检查工具"是为了确保PNG图像文件的位深准确无误而设计的实用程序。这个工具能够深入到文件夹内部,扫描并分析所有PNG图像,从而提供关于每个图片的真实位深信息。这对于那些对颜色精度有严格要求的设计师和...

    loadrunner中添加检查点图文详解[归纳].pdf

    然后出现添加步骤窗口,在“web 检查”中可以设置文本检查和图片检查。 二、添加文本检查点 添加文本检查点可以通过两种方法:“树”中的添加和“脚本”中的添加。下面将详细介绍添加文本检查点的步骤: 1. 搜索...

    LR检查点用法总结大全

    检查点分为图片检查点和文本检查点,主要通过`web_find()`、`web_reg_find()`以及`web_image_check()`这三个函数来实现。 #### 二、`web_find()`函数详解 **函数作用**:`web_find()`函数主要用于在页面中查找特定...

    检测ASP图片木马的函数

    为了防止木马攻击,需要在上传图片前检查文件内容。如果文件内容不合法(即包含有恶意代码在里面),则禁止上传,从而堵住了木马攻击的源头。这是木马攻击的第一关,至关重要,必须堵住。 检测ASP图片木马的函数 ...

    Tensorflow训练的pb图片识别模型

    Tensorflow官方给出的pb图片识别模型文件,方便用户使用相关语言进行调用测试

    英乐图片厘米尺寸检查器V9.0免费安装版

    英乐图片厘米尺寸检查器是一个免费的快速管理所有图片的图片管理工具,快速检查文件夹内所有图片的尺寸,展现方式为 长宽像素,长宽厘米,分辨率(像素/厘米和像素尺寸)。如果发片时,总是因为尺寸出错,或检查尺寸...

    python图片检查

    识别图片中是否包括色情 1 每一幅图像在构成上,都是由一个个像素组成的矩阵,每一个像素为单元格。 2、 彩色图像的像素的由三原色(红,绿,蓝)构成元组,灰度图像的像素是一个单值,每个像素的值范围为(0,255...

    cnn检查图片边缘

    python3使用snn查看图片主体边缘,修改一下图片路径就可以了

    1080P纯色图片.7z

    例如,设计师、摄影师和视频编辑在工作中需要精确的颜色表现,他们可能会使用纯色图片检查显示器是否存在色彩偏差或灰度不均。这有助于他们校准色彩配置文件,提高作品的色彩还原度和质量。 除了校准显示设备,纯色...

    检查文件夹或者项目内重复图片和超大图片

    "检查文件夹或者项目内重复图片和超大图片"这个工具,就是为了解决这个问题而设计的。它利用Python语言的强大功能,帮助开发者快速找出项目中的冗余和过大图片,以便进行相应的优化。 首先,让我们了解一下为什么...

    LR使用小结

    本文主要总结了LR中的三种检查点类型:图片检查点、文字检查点,以及它们对应的函数用法。 1. 图片检查点:通过`web_image_check()`函数实现。这个函数用于在页面中查找并验证一个具体的图片。例如,`web_image_...

    QTP操作基本教程.doc

    - **图片检查点**:对比图像文件与屏幕上的图像是否一致。 - **数据库检查点**和**XML文件检查点**:尚未详细说明,通常用于验证数据源的正确性。 ### 3. 参数化 参数化是将脚本中的固定值替换为变量,使得测试...

    专题资料(2021-2022年)产检项目和时间安排.doc

    4. **内诊**:在某些时期,如6个月左右,会进行子宫颈防癌图片检查,以预防宫颈疾病。 5. **辅助检查**:心电图用于检查心脏功能,B超在20周、23周左右进行,主要查看胎儿的生长发育情况。36周左右的骨盆内诊、心电...

    开发录制qtp

    但是,图片检查点可能会导致回放不成功,因此不建议使用图片检查点。 5. 录制结束 录制测试脚本结束后,开发人员可以查看对象库中的组件,包括页面上的元素、属性等。对象库是 QTP 的核心组件,用于存储测试脚本中...

    QTP10相关介绍

    2. 图片检查点:验证图片的属性,比如来源。 3. 表格检查点:检查表格内容,确保字段值正确。 4. 网页检查点:验证网页属性,如下载时间和链接有效性。 5. 文字检查点:确认网页上显示的文字与预期一致。 6. 图像...

    QTP操作基本教程---入门级的好教程,以具体实例操作

    虽然图片检查点、数据库检查点和XML文件检查点在此教程中未详细涉及,但它们同样在QTP中有着广泛的应用,能确保各种类型的数据或元素在测试中被正确验证。 **3. 参数化** 参数化是提高测试脚本复用性和灵活性的关键...

    Android-扫描项目里没有使用的图片工具删除没有引用的图片以减小打包体积

    - 在删除图片之前,务必仔细检查工具的报告,确保不会误删正在使用的图片,以免破坏应用的功能。 - 使用这类工具时,最好在开发环境中进行,避免直接操作生产代码,防止意外损失。 - 定期进行资源清理是个好习惯...

Global site tag (gtag.js) - Google Analytics