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


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

    比如,一个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://www.fenglibin.com/file_magic_numbers.html

    再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

  • 相关阅读:
    Linux的概念与体系
    Python快速教程
    Qt控件精讲一:按钮
    xml2-config not found
    Ubuntu 12.04更新源
    Adaboost的几个人脸检测网站
    关于matlab矩阵卷积conv2和傅里叶变换求卷积ifft2的关系
    char数组和String互转
    STL中vector的赋值,遍历,查找,删除,自定义排序——sort,push_back,find,erase
    《离散数学》-图论6.7
  • 原文地址:https://www.cnblogs.com/skiwdhwhssh/p/10340877.html
Copyright © 2020-2023  润新知