图片检查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图像,从而提供关于每个图片的真实位深信息。这对于那些对颜色精度有严格要求的设计师和...
然后出现添加步骤窗口,在“web 检查”中可以设置文本检查和图片检查。 二、添加文本检查点 添加文本检查点可以通过两种方法:“树”中的添加和“脚本”中的添加。下面将详细介绍添加文本检查点的步骤: 1. 搜索...
检查点分为图片检查点和文本检查点,主要通过`web_find()`、`web_reg_find()`以及`web_image_check()`这三个函数来实现。 #### 二、`web_find()`函数详解 **函数作用**:`web_find()`函数主要用于在页面中查找特定...
为了防止木马攻击,需要在上传图片前检查文件内容。如果文件内容不合法(即包含有恶意代码在里面),则禁止上传,从而堵住了木马攻击的源头。这是木马攻击的第一关,至关重要,必须堵住。 检测ASP图片木马的函数 ...
Tensorflow官方给出的pb图片识别模型文件,方便用户使用相关语言进行调用测试
英乐图片厘米尺寸检查器是一个免费的快速管理所有图片的图片管理工具,快速检查文件夹内所有图片的尺寸,展现方式为 长宽像素,长宽厘米,分辨率(像素/厘米和像素尺寸)。如果发片时,总是因为尺寸出错,或检查尺寸...
识别图片中是否包括色情 1 每一幅图像在构成上,都是由一个个像素组成的矩阵,每一个像素为单元格。 2、 彩色图像的像素的由三原色(红,绿,蓝)构成元组,灰度图像的像素是一个单值,每个像素的值范围为(0,255...
python3使用snn查看图片主体边缘,修改一下图片路径就可以了
例如,设计师、摄影师和视频编辑在工作中需要精确的颜色表现,他们可能会使用纯色图片检查显示器是否存在色彩偏差或灰度不均。这有助于他们校准色彩配置文件,提高作品的色彩还原度和质量。 除了校准显示设备,纯色...
"检查文件夹或者项目内重复图片和超大图片"这个工具,就是为了解决这个问题而设计的。它利用Python语言的强大功能,帮助开发者快速找出项目中的冗余和过大图片,以便进行相应的优化。 首先,让我们了解一下为什么...
本文主要总结了LR中的三种检查点类型:图片检查点、文字检查点,以及它们对应的函数用法。 1. 图片检查点:通过`web_image_check()`函数实现。这个函数用于在页面中查找并验证一个具体的图片。例如,`web_image_...
- **图片检查点**:对比图像文件与屏幕上的图像是否一致。 - **数据库检查点**和**XML文件检查点**:尚未详细说明,通常用于验证数据源的正确性。 ### 3. 参数化 参数化是将脚本中的固定值替换为变量,使得测试...
4. **内诊**:在某些时期,如6个月左右,会进行子宫颈防癌图片检查,以预防宫颈疾病。 5. **辅助检查**:心电图用于检查心脏功能,B超在20周、23周左右进行,主要查看胎儿的生长发育情况。36周左右的骨盆内诊、心电...
但是,图片检查点可能会导致回放不成功,因此不建议使用图片检查点。 5. 录制结束 录制测试脚本结束后,开发人员可以查看对象库中的组件,包括页面上的元素、属性等。对象库是 QTP 的核心组件,用于存储测试脚本中...
2. 图片检查点:验证图片的属性,比如来源。 3. 表格检查点:检查表格内容,确保字段值正确。 4. 网页检查点:验证网页属性,如下载时间和链接有效性。 5. 文字检查点:确认网页上显示的文字与预期一致。 6. 图像...
虽然图片检查点、数据库检查点和XML文件检查点在此教程中未详细涉及,但它们同样在QTP中有着广泛的应用,能确保各种类型的数据或元素在测试中被正确验证。 **3. 参数化** 参数化是提高测试脚本复用性和灵活性的关键...
- 在删除图片之前,务必仔细检查工具的报告,确保不会误删正在使用的图片,以免破坏应用的功能。 - 使用这类工具时,最好在开发环境中进行,避免直接操作生产代码,防止意外损失。 - 定期进行资源清理是个好习惯...