• 利用文件头标志判断文件类型


    简介

    我们都知道,文件的扩展名是用来识别文件类型的。通过给他指定扩展名,我们可以告诉自己,也告诉操作系统我们想用什么方式打开这个文件。比如我么会把.jpg的文件默认用图片显示软件打开,.zip 文件会默认用解压软件打开等等。

    然而,扩展名完全是可以随便改改的。我们可以给文件设置一个任意的扩展名,当然也可以不设置扩展名。这样一来我们就不能了解到这个文件究竟是做什么的,究竟是个什么样的文件。我们或许也会疑惑,为什么一个软件,比如视频播放器,就能用正确的方式打开.mp4 .rmvb .wmv 等等的视频?

    事实上,所有的文件都是以二进制的形式进行存储的,本质上没有差别。之所以使用的方法不同,只是因为我们理解他的方式不同。在每一个文件(包括图片,视频或其他的非ASCII文件)的开头(十六进制表示)实际上都有一片区域来显示这个文件的实际用法,这就是文件头标志。

    Linux下我们可以用file命令直接查看文件的实际格式,但是他本质上也是利用文件头标志来进行文件类型判断的。下面就简要介绍下手动判断文件真实类型的方法。

    表格

    扩展名文件头标识(HEX)文件描述
    123 00 00 1A 00 05 10 04 Lotus 1-2-3 spreadsheet (v9) file
    3gg; 3gp; 3g2 00 00 00 nn 66 74 79 70 33 67 70 3rd Generation Partnership Project 3GPP (nn=0x14) and 3GPP2 (nn=0x20) multimedia files
    7z 37 7A BC AF 27 1C 7-ZIP compressed file
    aba 00 01 42 41 Palm Address Book Archive file
    abi 41 4F 4C 49 4E 44 45 58 AOL address book index file
    aby; idx 41 4F 4C 44 42 AOL database files: address book (ABY) and user configuration data (MAIN.IDX)
    accdb 00 01 00 00 53 74 61 6E 64 61 72 64 20 41 43 45 20 44 42 Microsoft Access 2007 file
    ACM 4D 5A MS audio compression manager driver
    ADF 44 4F 53 Amiga disk file
    adx 03 00 00 00 41 50 50 52 Lotus Approach ADX file
    AIFF 46 4F 52 4D 00 Audio Interchange File
    ain 21 12 AIN Compressed Archive File
    ami 5B 76 65 72 5D Lotus Ami Pro
    amr 23 21 41 4D 52 Adaptive Multi-Rate ACELP (Algebraic Code Excited Linear Prediction) Codec, commonly audio format with GSM cell phones
    ANI 52 49 46 46  
    API 4D 5A 90 00 03 00 00 00 Acrobat plug-in
    arc 1A 0x LH archive file, old version(where x = 0x2, 0x3, 0x4, 0x8 or 0x9 for types 1-5, respectively)
    arc 41 72 43 01 FreeArc compressed file
    arj 60 EA ARJ Compressed Archive
    ARJ 60 EA 27  
    ART 4A 47 03 0E 00 00 00 AOL ART file
    ART 4A 47 04 0E 00 00 00 AOL ART file
    asf 30 26 B2 75 8E 66 CF 11 Windows Media
    asf; wma; wmv 30 26 B2 75 8E 66 CF 11 A6 D9 00 AA 00 62 CE 6C Microsoft Windows Media Audio/Video File(Advanced Streaming Format)
    asx 3C Advanced Stream redirector file
    au 2E 73 6E 64 SoundMachine Audio File NeXT/Sun Microsystems μ-Law audio file
    avi 41 56 49 20 Audio Video Interleave (AVI)
    AX 4D 5A Library cache file
    AX 4D 5A 90 00 03 00 00 00 DirectShow filter
    bag 41 4F 4C 20 46 65 65 64 62 61 67 AOL and AIM buddy list file
    BAS 20 20 20  
    bin 42 4C 49 32 32 33 51 Thomson Speedtouch series WLAN router firmware
    bmp 42 4D Windows Bitmap
    BMP 42 4D 3E  
    bz; bz2 42 5A 68 BZIP Archive
    BZ2; TAR.BZ2; TBZ2; TB2 42 5A 68 bzip2 compressed archive
    CAB 49 53 63  
    CAB; HDR 49 53 63 28 Install Shield v5.x or 6.x compressed file
    CAB 4D 53 43 46 Microsoft CAB File Format
    cat 30 Microsoft security catalog file
    CBD 43 42 46 49 4C 45 WordPerfect dictionary file (unconfirmed)
    CCD 5B 43 6C  
    cdr CDR Corel Draw
    CDR 45 4C 49 54 45 20 43 6F 6D 6D 61 6E 64 65 72 20 Elite Plus Commander saved game file
    CDR, DVF 4D 53 5F 56 4F 49 43 45 Sony Compressed Voice File
    CHI; CHM 49 54 53 46 Microsoft Compiled HTML Help File
    CHM 49 54 53  
    CLB 43 4D 58 31 Corel Binary metafile
    CLB 43 4F 4D 2B COM+ Catalog file
    cnt 3A 42 61 73 65  
    COM, DLL, DRV, EXE, PIF, QTS, QTX, SYS 4D 5A Windows/DOS executable file
    COM 4D 5A EE  
    COM E9 3B 03  
    CPE 46 41 58 43 4F 56 45 52 2D 56 45 52 Microsoft Fax Cover Sheet
    CPL 4D 5A Control panel application
    CPT 43 50 54 37 46 49 4C 45 Corel Photopaint file
    CPT 43 50 54 46 49 4C 45 Corel Photopaint file
    CPX 5B 57 69  
    cru; crush 43 52 55 53 48 CRUSH Archive File
    CRU 43 52 55 53 48 20 76 Crush compressed archive
    CRW 49 49 1A 00 00 00 48 45 41 50 43 43 44 52 02 00 Canon digital camera RAW file
    CTF 43 61 74 61 6C 6F 67 20 33 2E 30 30 00 WhereIsIt Catalog file
    CUR 00 00 02 00 01 00 20 20 Windows cursor file
    dat 03 MapInfo Native Data Format
    dat 1A 52 54 53 20 43 4F 4D 50 52 45 53 53 45 44 20 49 4D 41 47 45 20 56 31 2E 30 1A Runtime Software disk image
    dat 41 56 47 36 5F 49 6E 74 65 67 72 69 74 79 5F 44 61 74 61 62 61 73 65 AVG6 Integrity database file
    DAT 43 52 45 47 Windows 9x registry hive
    DAT 43 6C 69 65 6E 74 20 55 72 6C 43 61 63 68 65 20 4D 4D 46 20 56 65 72 20 IE History DAT file
    DAT 45 52 46 53 53 41 56 45 44 41 54 41 46 49 4C 45 Kroll EasyRecovery Saved Recovery State file
    DAT 49 6E 6E 6F 20 53 65 74 75 70 20 55 6E 69 6E 73 74 61 6C 6C 20 4C 6F 67 20 28 62 29 Inno Setup Uninstall Log file
    db 00 06 15 61 00 00 00 02 00 00 04 D2 00 00 10 00 Netscape Navigator (v4) database file
    DB 44 42 46 48 Palm Zire photo database
    db 08 dBASE IV or dBFast configuration file
    db3 03 dBASE III file
    db4 04 dBASE IV data file
    dba 00 01 42 44 Palm DateBook Archive file
    dbx CF AD 12 FE  
    dbx CF AD 12 FE C5 FD 74 6F Outlook Express
    dci 3C 21 64 6F 63 74 79 70 AOL HTML mail file
    dcx 3A DE 68 B1 DCX Graphic File
    DDB 00 01 00  
    dib 42 4D device-independent bitmap image
    DLL 4D 5A 90  
    DMP 4D 44 4D 50 93 A7 Windows minidump file
    DMS 44 4D 53 21 Amiga DiskMasher compressed archive
    doc 0D 44 4F 43 DeskMate Document file
    doc 12 34 56 78 90 FF MS Word 6.0
    doc 31 BE 00 00 00 AB 00 00 MS Word for DOS 6.0
    doc 7F FE 34 0A MS Word
    dot; ppt; xla; ppa; pps; pot; msi; sdw; db D0 CF 11 E0 MS Office/OLE2
    doc; dot; xls; xlt; xla; ppt; apr ;ppa; pps; pot; msi; sdw; db D0 CF 11 E0 A1 B1 1A E1 MS Compound Document v1 or Lotus Approach APR file
    DPL 4D 5A 50  
    DRV 4D 5A 16  
    drw 07 A common signature and file extension for many drawing programs.
    drw 01 FF 02 04 03 02 Micrografx vector graphic file
    ds4 4D 47 58 20 69 74 70 64 Micrografix Designer 4
    DSN 4D 56 CD Stomper Pro label file
    dsp 23 20 4D 69 63 72 6F 73 6F 66 74 20 44 65 76 6 56C 6F 70 65 72 20 53 74 75 64 69 6F Microsoft Developer Studio project file
    dss 02 64 73 73 Digital Speech Standard (Olympus, Grundig, & Phillips)
    dtd 07 64 74 32 64 64 74 64 DesignTools 2D Design file
    dtd 3C 21 45 4E 54 49 54 59 XML DTD
    DVR 44 56 44 DVR-Studio stream file
    dwg 41 43 31  
    Enn (where nn are numbers) 45 56 46 EnCase evidence file
    ECO 2A 50 52  
    elf 7F 45 4C 46 01 01 01 00 ELF Executable
    emf 01 00 00 00 58 00 00 00 Extended (Enhanced) Windows Metafile Format, printer spool file
    eml 44 65 6C 69 76 65 72 79 2D 64 61 74 65 3A Email
    EML 46 72 6F 6D 20 20 20 A commmon file extension for e-mail files. Signatures shown here are for Netscape, Eudora, and a generic signature, respectively. EML is also used by Outlook Express and QuickMail.
    EML 46 72 6F 6D 20 3F 3F 3F A commmon file extension for e-mail files. Signatures shown here are for Netscape, Eudora, and a generic signature, respectively. EML is also used by Outlook Express and QuickMail.
    EML 46 72 6F 6D 3A 20 A commmon file extension for e-mail files. Signatures shown here are for Netscape, Eudora, and a generic signature, respectively. EML is also used by Outlook Express and QuickMail.
    EML 52 65 63  
    enc 00 5C 41 B1 FF Mujahideen Secrets 2 encrypted file
    enl [32 byte offset] 40 40 40 20 00 00 40 40 40 40 EndNote Library File
    eps 25 21 50 53 Adobe EPS File
    eps 25 21 50 53 2D 41 64 6F 62 65 Postscript
    eps 25 21 50 53 2D 41 64 6F 62 65 2D 33 2E 30 20 45 50 53 46 2D 33 20 30 Adobe encapsulated PostScript file (If this signature is not at the immediate beginning of the file, it will occur early in the file, commonly at byte offset 30)
    EPS C5 D0 D3  
    eth 1A 35 01 00 GN Nettest WinPharoah capture file
    evt 30 00 00 00 4C 66 4C 65 Windows Event Viewer file
    evt 03 00 00 00 C4 66 C4 56  
    EVTX 45 6C 66 46 69 6C 65 00 Windows Vista event log file
    exe; dll; drv; vxd; sys; ocx; vbx 4D 5A Win32 Executable
    exe; dll; drv; vxd; sys; ocx; vbx 4D 5A Win16 Executable
    exe; com; 386; ax; acm; sys; dll; drv; flt; fon; ocx; scr; lrc; vxd; cpl; x32 4D 5A Executable File
    EXE, DLL, OCX, OLB, IMM, IME 4D 5A 90  
    fli 00 11 AF FLIC Animation file
    flt 00 01 01 OpenFlight 3D file
    FLT 4D 5A 90 00 03 00 00 00 Audition graphic filter file (Adobe)
    FLV 46 4C 56 01 Flash video file
    fm 3C 4D 61 6B 65 72 46 69 6C 65 20 Adobe FrameMaker file
    fm3 00 00 1A 00 07 80 01 00 Lotus 123 v3 FMT file
    fmt 20 00 68 00 20 0 Lotus 123 v4 FMT file
    FNT 43 48 41  
    FON 4D 5A Font file
    GBC 87 F5 3E  
    gid 3F 5F 03 00 Windows Help Index File
    GID 4C 4E 02 00 Windows Help index file
    GIF 47 49 46 38  
    gif 47 49 46 38 37 61 Graphics interchange format file (GIF 87A)
    gif 47 49 46 38 39 61 Graphics interchange format file (GIF89A)
    GTD 7B 50 72  
    GX2 47 58 32 Show Partner graphics file (not confirmed)
    gz; tar; tgz 1F 8B Gzip Archive File
    gz; tgz 1F 8B 08 GZ Compressed File
    hap 91 33 48 46 HAP Archive File
    HDMP 4D 44 4D 50 93 A7 Windows heap dump file
    hdr 23 3F 52 41 44 49 41 4E 43 45 0A adiance High Dynamic Range image file
    HLP 3F 5F 03  
    hlp 3F 5F 03 00 Windows Help file
    HLP 4C 4E 02 00 Windows Help file
    hlp [7 byte offset] 00 00 FF FF FF FF Windows Help file
    hqx 28 54 68 69 73 20 66 69 6C 65 Macintosh BinHex 4 Compressed Archive
    hqx 28 54 68 69 73 20 66 69 6C 65 20 6D 75 73 74 20 62 65 20 63 6F 6E 76 65 72 74 65 64 20 77 69 74 68 20 42 69 6E 48 65 78 20 Macintosh BinHex 4 Compressed Archive
    HTM 3C 21 44  
    htm; html 3C 21 44 4F 43 54 HyperText Markup Language 3
    htm; html 3C 48 54 4D 4C 3E HyperText Markup Language 2
    htm; html 3C 68 74 6D 6C 3E HyperText Markup Language 1
    html 68 74 6D 6C 3E HTML
    ico 00 00 01 00 00 Icon File
    ico 00 00 01 00 01 00 20 20 Icon File
    IFF 46 4F 52 4D  
    IFO 44 56 44 DVD info file
    IME 4D 5A 90  
    img 00 01 00 08 00 01 00 01 01 Ventura Publisher/GEM VDI Image Format Bitmap file
    IMG 00 FF FF  
    IMM 4D 5A 90  
    ind 41 4F 4C 49 44 58 AOL client preferences/settings file (MAIN.IND)
    ISO 43 44 30 30 31 ISO-9660 CD Disc Image (This signature usually occurs at byte 8001, 8801, or 9001.)
    ivr 2E 52 45 43 RealPlayer video file (V11 and later)
    JAR 4A 41 52 43 53 00 JARCS compressed archive
    jar 5F 27 A8 89 JAR Archive File
    jpg; jpeg FF D8 FF  
    jpg; jpe; jpeg FF D8 FF E0 00 JPG Graphic File
    jpg; jpe; jpeg FF D8 FF FE 00 JPG Graphic File
    KGB 4B 47 42 5F 61 72 63 68 20 2D KGB archive
    KOZ 49 44 33 03 00 00 00 Sprint Music Store audio file (for mobile devices)
    LDB 42 49 4C  
    lha 2D 6C 68 35 2D LHA Compressed
    lha; lzh [2 byte offset] 2D 6C 68 Compressed archive file
    LHP 3F 5F 03  
    lhp 3F 5F 03 00 Windows Help File
    lib 21 3C 61 72 63 68 3E 0A Unix archiver (ar) files and Microsoft Program Library Common Object File Format (COFF)
    LIB 2A 24 20  
    LIT 49 54 4F 4C 49 54 4C 53 Microsoft Reader eBook file
    LNK 4C 00 00  
    lnk 4C 00 00 00 Windows Shortcut (Link File)
    lnk 4C 00 00 00 01 14 02 Windows Link File
    LNK 4C 00 00 00 01 14 02 00 Windows shortcut file
    log 2A 2A 2A 20 20 49 6E 73 74 61 6C 6C 61 74 69 6F 6E 20 53 74 61 72 74 65 64 20 Symantec Wise Installer log file
    lzh lh Lz compression file
    lwp 57 6F 72 64 50 72 6F Lotus WordPro v9
    m3u 23 45 58  
    m4a 00 00 00 20 66 74 79 70 4D 34 41 20 00 00 00 00 Apple Lossless Audio Codec file
    m4a; m4v 00 00 00 20 66 74 79 70 4D 34 41 20 00 00 00 00 QuickTime M4A/M4V file
    manifest 3C 3F 78 6D 6C 20 76 65 72 73 69 6F 6E 3D Windows Visual Stylesheet XML file
    MAR 4D 41 52 31 00 Mozilla archive
    MAR 4D 41 52 43 Microsoft/MSN MARC archive
    MAR 4D 41 72 30 00 MAr compressed archive
    max D0 CF 11  
    mdb 00 01 00 00 53 74 61 6E 64 61 72 64 20 4A 65 74 20 44 42 Microsoft Access file
    mdb; mda; mde; mdt 53 74 61 6E 64 61 72 64 20 4A MS Access
    MDF 00 FF FF  
    mdf 00 FF FF FF FF FF FF FF FF FF FF 00 00 02 00 01 Alcohol 120% CD image
    mdf 01 0F 00 00 Microsoft SQL Server 2000 database
    MDI 45 50 Microsoft Document Imaging file
    MDS 4D 45 44  
    MID; MIDI 4D 54 68 64 Musical Instrument Digital Interface (MIDI) sound file
    mkv 1A 45 DF A3 93 42 82 88 6D 61 74 72 6F 73 6B 61 Matroska stream file
    MLS 4D 49 4C 45 53 Milestones v1.0 project management and scheduling software (Also see “MV2C” and “MV214” signatures)
    MLS 4D 4C 53 57 Skype localization data file
    MLS 4D 56 32 31 34 Milestones v2.1b project management and scheduling software (Also see “MILES” and “MV2C” signatures)
    MLS 4D 56 32 43 Milestones v2.1a project management and scheduling software (Also see “MILES” and “MV214” signatures)
    MMF 4D 4D 4D 44 00 00 Yamaha Corp. Synthetic music Mobile Application Format (SMAF) for multimedia files that can be played on hand-held devices.
    mny 00 01 00 00 4D 53 49 53 41 4D 20 44 61 74 61 62 61 73 65 Microsoft Money file
    MOV 00 00 0F  
    MOV 00 00 77  
    mov 6D 6F 6F 76 Quicktime
    mov 6D 64 61 74 QuickTime Movie
    mp 0C ED Monochrome Picture TIFF bitmap file (unconfirmed)
    MP3 49 44 33 MPEG-1 Audio Layer 3 (MP3) audio file
    MP3 FF FB 50  
    mp4 00 00 00 18 66 74 79 70 33 67 70 35 MPEG-4 video files
    MPA 00 00 01  
    mpg; mpeg 00 00 01 B3 MPEG Movie
    mpg 00 00 01 BA MPEG
    MSC 3C 3F 78  
    msc 3C 3F 78 6D 6C 20 76 65 72 73 69 6F 6E 3D 22 31 2E 30 22 3F 3E 0D 0A 3C 4D 4D 43 5F 43 6F 6E 73 6F 6C 65 46 69 6C 65 20 43 6F 6E 73 6F 6C 65 56 65 72 73 69 6F 6E 3D 22 Microsoft Management Console Snap-in Control file
    msi 23 20 Cerius2 file
    MSV 4D 53 5F 56 4F 49 43 45 Sony Memory Stick Compressed Voice file
    NES 4E 45 53  
    NLS C2 20 20  
    nri 0E 4E 65 72 6F 49 53 4F Nero CD Compilation
    ntf 1A 00 00 Lotus Notes database template
    nsf; ntf 1A 00 00 03 00 00 Lotus Notes Database/Template
    nsf 1A 00 00 03 00 00 11 00 Notes Database
    nsf 1A 00 00 04 00 00 Lotus Notes database
    ntf 30 31 4F 52 44 4E 41 4E 43 45 20 53 55 52 56 45 59 20 20 20 20 20 20 20 National Transfer Format Map File
    obj 4C 01 Microsoft Common Object File Format (COFF) relocatable object code file for an Intel 386 or later/compatible processors
    OCX 4D 5A ActiveX or OLE Custom Control
    OCX 4D 5A 90  
    OLB 4D 5A OLE object library
    OLB 4D 5A 90  
    org; pfc 41 4F 4C 56 4D 31 30 30 AOL personal file cabinet (PFC) file
    pak 1A 0B Compressed archive file
    PAT 47 46 31 50 41 54 43 48 Advanced Gravis Ultrasound patch file
    PAT 47 50 41 54 GIMP (GNU Image Manipulation Program) pattern file
    PBK 5B 41 44  
    PCB 17 A1 50  
    PCS 0A 05 01  
    pcx 0A nn 01 01 ZSOFT Paintbrush file(where nn = 0x02, 0x03, or 0x05)
    pcx 0A 05 01 08 PC Paintbrush(often associated with Quake Engine games)
    pdb [11 byte offset] 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 Palmpilot Database/Document File
    PDF 25 50 44  
    pdf; fdf 25 50 44 46 Adobe Portable Document Format and Forms Document file
    pdf 25 50 44 46 2D 31 2E Adobe Acrobat
    PDG 48 48 02  
    pf 11 00 00 00 53 43 43 41 Windows prefetch file
    pic 01 00 00 00 01 Unknown type picture file
    PJT 00 00 07  
    PLL 24 53 6F  
    PNG 89 50 4E  
    PNG 89 50 4E 47  
    png 89 50 4E 47 0D 0A PNG Image File
    png 89 50 4E 47 0D 0A 1A 0A PNG Image File
    PPC 52 65 63  
    PPT D0 CF 11  
    ppt [512 byte offset] 00 6E 1E F0 PowerPoint presentation subheader (MS Office)
    ppt [512 byte offset] 0F 00 E8 03 PowerPoint presentation subheader (MS Office)
    PPZ 4D 53 43 46 Powerpoint Packaged Presentation
    prc 42 4F 4F 4B 4D 4F 42 49 Palmpilot resource file
    PRG 23 44 45  
    ps 25 21 50 53 2D 41 64 6F 62 65 Postscript
    PSD 38 42 50  
    psd 38 42 50 53 Adobe Photoshop image file
    psp 7E 42 4B 00 PaintShop Pro Image File
    pst 21 42 44 4E Microsoft Outlook Personal Folder file
    pwl E3 82 85 96 Windows Password
    qbb 45 86 00 00 06 00 Intuit QuickBooks Backup file
    qdf AC 9E BD 8F Quicken
    qph 03 00 00 00 Quicken price history file
    qt 6D 64 61 74 Quicktime Movie File
    qxd 00 00 4D 4D 58 50 52
    ra 2E 52 4D 46 00 00 00 12 00 Real Audio file
    ra; ram 2E 72 61 FD Real Audio File
    ra 2E 72 61 FD 00 RealAudio streaming media file
    RAR 52 61 72  
    rar 52 61 72 21 RAR Archive File
    RAW 06 05 00  
    reg 52 45 47 45 44 49 54 34  
    rgb 01 DA 01 01 00 03 Silicon Graphics RGB Bitmap
    RM 2E 52 4D  
    rm; rmvb 2E 52 4D 46 Real Media streaming media file
    rpm ED AB EE DB RPM Archive File
    RTD 43 23 2B 44 A4 43 4D A5 48 64 72 RagTime document file
    RTF 7B 5C 72  
    rtf 7B 5C 72 74 66 Rich Text Format File
    sav 24 46 4C 32 40 28 23 29 20 53 50 53 53 20 44 41 54 41 20 46 49 4C 45 SPSS Data file
    SBV 46 45 44 46 (Unknown file type)
    SCH 2A 76 65  
    scm 80 53 43  
    SH3 48 48 47 42 31 Harvard Graphics presentation file
    SHD 4B 49 00 00 Windows 9x printer spool file
    sit 53 49 54 21 Stuffit v1 Archive File
    sit 53 74 75 66 66 49 74 Stuffit v5 Archive File
    sle 3A 56 45 52 53 49 4F 4E Surfplan kite project file
    sle 41 43 76 teganos Security Suite virtual secure drive
    sly; srt; slt 53 52 01 00 Sage sly.or.srt.or.slt
    SMD 00 FF FF  
    snm 00 1E 84 90 00 00 00 00 Netscape Communicator (v4) mail folder
    SNP 4D 53 43 46 Microsoft Access Snapshot Viewer file
    sol 00 BF Adobe Flash shared object file (e.g., Flash cookies)
    spl 00 00 01 00 Windows NT/2000/XP printer spool file
    SCR 4D 5A Screen saver
    SUB FF FF FF  
    SWF 43 57 53 Shockwave Flash file (v5+)
    SWF 46 57 53 Macromedia Shockwave Flash player file
    sxc calc OpenOffice Calc
    sxd draw OpenOffice Draw
    sxi impress OpenOffice Impress
    sxm math OpenOffice Math
    sxw writer OpenOffice Writer
    syw 41 4D 59 4F Harvard Graphics symbol graphic
    TAG 00 00 02  
    tar; cpio 30 37 30 37 30 37 CPIO Archive File
    tar.z 1F 9D 90 Compressed tape archive file
    tga 00 00 10 00 00 RLE压缩的前5字节
    TGA 00 00 02  
    tga 00 00 02 00 00 未压缩的前5字节
    TIF; TIFF 49 20 49 Tagged Image File Format file
    tif; tiff 49 49 2A TIFF (Intel)
    tif; tiff 49 49 2A 00 Tagged Image File Format file (little endian, i.e., LSB first in the byte; Intel)
    TIF; TIFF 4D 4D 00 2A Tagged Image File Format file (big endian, i.e., LSB last in the byte; Motorola)
    tif; tiff 4D 4D 2A TIFF (Motorola)
    TIF; TIFF 4D 4D 00 2B BigTIFF files; Tagged Image File Format files >4 GB
    TLB 4D 53 46 54 02 00 01 00 OLE, SPSS, or Visual C++ type library file
    tr1 01 10 Novell LANalyzer capture file
    TST 00 01 00  
    TTF 00 01 00  
    ufa 55 46 41 UFA Archive File
    VBX 4D 5A VisualBASIC application
    VCD 45 4E 54 52 59 56 43 44 02 00 00 01 02 00 18 58 VideoVCD (GNU VCDImager) file
    vcf 42 45 47 49 4E 3A 56 43 41 52 44 0D 0A vCard file
    vob 00 00 01 BA DVD Video Movie File (video/dvd, video/mpeg)
    VXD, 386 4D 5A Windows virtual device drivers
    WAV 52 49 46  
    wav 57 41 56 45 Wave
    wav 57 41 56 45 66 6D 74 Wave Files
    wb2 00 00 02 00 QuattroPro for Windows Spreadsheet file
    wb3 [24 byte offset] 3E 00 03 00 FE FF 09 00 06 Quatro Pro for Windows 7.0 Notebook file
    wk1; wks 20 00 60 40 60 Lotus 123 v1 Worksheet
    wk1 00 00 02 00 06 04 06 00 08 00 00 00 00 00 Lotus 1-2-3 spreadsheet (v1) file
    wk3 00 00 1A 00 00 10 04 00 Lotus 123 spreadsheet (v3) file
    wk4; wk5 00 00 1A 00 02 10 04 00 Lotus 1-2-3 spreadsheet (v4, v5) file
    wks 0E 57 4B 53 DeskMate Worksheet
    WMA 30 26 B2  
    wmf 01 00 09 00 Graphics Metafile
    wmf 01 00 09 00 00 03 Windows Metadata file (Win 3.x format)
    wmf 02 00 09 00 Graphics Metafile
    wmf D7 CD C6 9A Windows Meta File
    WMV 30 26 B2  
    wp FF 57 50 43 WordPerfect v5 or v6
    wpd FF 57 50 43 WordPerfect
    wpg FF 57 50 47 WordPerfect Graphics
    wri 31 BE Microsoft Write file
    WRI 31 BE 00  
    wri 32 BE Microsoft Write file
    ws 1D 7D WordStar Version 5.0/6.0 document
    XBE 58 42 45  
    xdr 3C BizTalk XML-Data Reduced Schema file
    xls 09 02 06 00 00 00 10 00 B9 04 5C 00 MS Excel v2
    xls 09 04 06 00 00 00 10 00 F6 05 5C 00 MS Excel v4
    XLS D0 CF 11  
    xls D0 CF 11 E0 MS Excel
    xls [512 byte offset] 09 08 10 00 00 06 05 00 Excel spreadsheet subheader (MS Office)
    XML 3C 3F 78  
    xml 3C 3F 78 6D 6C XML Document
    xml FF FE 3C 00 52 00 4F 00 4F 00 54 00 53 00 54 00 55 00 42 00 XML Document (ROOTSTUB)
    XMV 00 50 01  
    XSL FF FE 3C  
    xul 72 73 69 6F 6E 3D 22 31 3C 3F 78 6D 6C 20 76 65 2E 30 22 3F 3E XML User Interface Language file
    z 1F 9D TAR Compressed Archive File
    Z 1F 9D 8C  
    ZIP 50 4B 03  
    zip; jar; zipx 50 4B 03 04 ZIP Archive
    zip 50 4B 30 30 ZIP Archive (outdated)
    Zip 50 4B 30 30 50 4B 03 04 WINZIP Compressed
    zoo 5A 4F 4F 20 ZOO Archive File

    有了这个表格,我们就可以通过检查文件的十六进制头来判断文件实际的类型了。

    方法

    windows下

    我们可以通过ultraedit之类的文本编辑器检查文件的十六进制表示,很方便。

    Linux下

    我们有hexdump命令来查看文件的十六进制形式,用这种方法查看png文件的结果大概是这样的:

    1
    2
    3
    4
    5
    6
    0000000 5089 474e 0a0d 0a1a 0000 0d00 4849 5244
    0000010 0000 dc00 0000 3200 0608 0000 3700 b514
    0000020 0073 0000 7009 5948 0073 0b00 0013 0b00
    0000030 0113 9a00 189c 0000 4d0a 4369 5043 6850
    0000040 746f 736f 6f68 2070 4349 2043 7270 666f
    .......

    然而,这个只能查看不能修改,而且实际上,他的高低位是反着的,实际上他应该表示为:

    1
    2
    0000000 8050 4e47 0d0a 1a0a 0000 000d 4948 4452
    .......

    这样才是标准的png文件的头。

    当然,我们有更方便强大的vim,用这个可以查看和修改文件的十六进制表示形式。我们用vim打开刚才的png文件,会的到以下的ascii表示形式:

    1
    2
    3
    4
    5
    6
    7
    8
    <89>PNG^M                                                                   
    ^Z
    ^@^@^@^MIHDR^@^@^@Ü^@^@^@2^H^F^@^@^@7^Tµs^@^@^@ pHYs^@^@^K^S^@^@^K^S^A^@<9a> <9c>^X^@^@
    MiCCPPhotoshop ICC profile^@^@xÚ<9d>SwX<93>÷^V>ß÷e^OVBØð±<97>l<81>^@"#¬^HÈ^P Y¢^P<92>^@a<84>^P^R@Å<85><88>
    V^T^U^Q<9c>HUÄ<82>Õ
    H<9d><88>â (¸gA<8a><88>Z<8b>U8î^_ܧµ}zïííû×û¼ç<9c>çüÎyÏ^O<80>^Q^R&<91>æ¢j^@ 9R<85><:Ø^_<8f>OHÄɽ<80>^B^UHà^D ^PæËÂg^EÅ^@^@ð^Cyx~t°?ü^A¯o^@^B^@pÕ.$^RÇáÿ< 83>ºP&W^@ <91>^@à"^Rç^K^A<90>R^@È.TÈ^T^@È^X^@°S³d
    ^@<94>^@^@ly|B"^@ª^M^@ìôI>^E^@Ø©<93>Ü^W^@Ø¢^©^H^@<8d>^A^@<99>(G$^B@»^@`U<81 >R,^BÀÂ^@ ¬@".^DÀ®^A<80>Y¶2G^B<80>½^E^@v<8e>X<90>^O@`^@<80><99>B,Ì^@ 8^B^@C^ ^^SÍ^C L^C 0Ò¿à©_p<85>¸H^A^@ÀË<95>Í<97>KÒ3^T¸<95>Ð^Zwòðàâ!âÂl±Ba^W)^Pf ä"<9
    ..........

    接下来我们需要在命令模式下输入 :%!xxd 这样会得到以下的样子:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    0000000: 8950 4e47 0d0a 1a0a 0000 000d 4948 4452  .PNG........IHDR   
    0000010: 0000 00dc 0000 0032 0806 0000 0037 14b5 .......2.....7..
    0000020: 7300 0000 0970 4859 7300 000b 1300 000b s....pHYs.......
    0000030: 1301 009a 9c18 0000 0a4d 6943 4350 5068 .........MiCCPPh
    0000040: 6f74 6f73 686f 7020 4943 4320 7072 6f66 otoshop ICC prof
    0000050: 696c 6500 0078 da9d 5377 5893 f716 3edf ile..x..SwX...>.
    0000060: f765 0f56 42d8 f0b1 976c 8100 2223 ac08 .e.VB....l.."#..
    0000070: c810 59a2 1092 0061 8410 1240 c585 880a ..Y....a...@....
    .......

    这就对了,而且高低位的位置与一般的表示一致。

    当我们需要调回ascii模式的时候,我们只要输入 :%!xxd -r 就可以回到之前的模式了。

    这里要注意的是,在十六进制里我们可以通过编辑十六进制码来修改值,但是不要修改后面对应的ascii码和前面的地址,而且模式转换过去后一定要记得转换回来。

  • 相关阅读:
    SQL存储过程基础(从基础开始学,加油!)
    SQL语句经典大全
    SQL SQL语句的增删改查
    web app iphone4 iphone5 iphone6 响应式布局 适配代码
    DOM和 jquery 基础
    HTML 和CSS 语言
    python的目标
    老男孩学习DAY11-1 进程、进程池、协程
    老男孩python DAY10 soket 编程
    老男孩全栈PYTHON -DAY8-面向妹子(对象)编程
  • 原文地址:https://www.cnblogs.com/senior-engineer/p/9541719.html
Copyright © 2020-2023  润新知