Kamus

Apakah Header Mentah Sesuatu Fail?

Header mentah menunjukkan byte pertama sesuatu fail sebagai nombor heksadesimal. Byte ini mendedahkan jenis fail sebenar, dan anda boleh membaca banyak daripadanya sebagai teks.

raw-header

Header mentah ialah bahagian pertama sesuatu fail, ditunjukkan bait demi bait dan bukannya sebagai medan metadata bernama. Banyak format fail bermula dengan corak bait tetap, yang sering dipanggil tandatangan atau nombor magik. Program membaca corak ini untuk mengenal pasti jenis fail.

Dalam laporan metadata, medan Header Mentah memaparkan bait ini sebagai nombor heksadesimal. Setiap pasangan aksara, seperti 89 atau FF, mewakili 1 bait.

Emel juga mempunyai seksyen header di bahagian atas, dengan medan seperti From, To, dan Subject. Artikel ini menerangkan header bagi sesuatu fail.

Bagaimana rupanya nilai tersebut

Heksadesimal, atau asas 16, menulis setiap bait sebagai 2 aksara daripada digit 0 hingga 9 dan huruf A hingga F. Oleh itu, sesuatu bait boleh mempunyai sebarang nilai daripada 00 hingga FF.

Dalam kod aksara ASCII, nilai 21 hingga 7E mewakili huruf, digit dan tanda baca, dan 20 ialah jarak. Nilai di bawah 20 ialah kod kawalan, dan 00 ialah aksara semua sifar yang dipanggil NUL.

Cara membaca header mentah sebagai teks

Untuk menukar header mentah kepada teks, rujuk setiap bait dalam jadual ASCII. Hanya bait daripada 20 hingga 7E mewakili aksara ASCII yang boleh dilihat atau jarak. Bait lain tidak, jadi anda selalunya hanya boleh membaca sebahagian daripada header.

  • 25 50 44 46 2D dibaca sebagai tanda peratus, huruf PDF dan sengkang.
  • 89 50 4E 47 mengandungi huruf PNG dalam bait ke-2 hingga ke-4.

Nilai tipikal

Format biasa bermula dengan tandatangan ini:

  • Imej PNG: 89 50 4E 47 0D 0A 1A 0A
  • Imej JPEG: FF D8 FF, di mana FF D8 menandakan permulaan imej
  • Imej GIF: 47 49 46 38, kemudian 39 61 atau 37 61 (GIF89a atau GIF87a)
  • Dokumen PDF: 25 50 44 46 2D, kemudian versinya, seperti 1.7
  • Imej TIFF, little-endian: 49 49 2A 00 (II, kemudian nombor 42)
  • Imej TIFF, big-endian: 4D 4D 00 2A (MM, kemudian nombor 42)
  • Arkib ZIP, dan fail Office berasaskan ZIP seperti DOCX: 50 4B 03 04 (PK)
  • Audio MP3 dengan tag ID3v2: 49 44 33 (ID3)
  • Audio WAV: 52 49 46 46 (RIFF), 4 bait yang berbeza-beza, kemudian 57 41 56 45 (WAVE)
  • Video MP4: saiz 4 bait, kemudian 66 74 79 70 (ftyp)

Dalam fail TIFF, 2 bait pertama juga menetapkan tertib bait bagi nombor dalam fail. Dalam fail PDF, aksara selepas tandatangan memberikan versi PDF, tetapi masukan kemudian dalam fail boleh menepikan nilai ini.

Fail mana yang membawanya

Setiap fail mempunyai header mentah, tetapi tidak setiap format mempunyai tandatangan. Fail teks biasa bermula terus dengan teksnya. Program mengenal pasti fail ini kerana bait pertama hanya mengandungi aksara teks.

Mengapa ia penting

Sambungan nama fail hanya sebahagian daripada nama, dan sesiapa sahaja boleh mengubahnya. Header boleh mendedahkan jenis fail dan jenis MIME sebenar walaupun sambungan adalah salah.

Pelayan web mungkin tidak menghantar jenis MIME, atau pelayar mungkin menganggap jenis yang diterima adalah salah. Pelayar kemudian boleh membandingkan bait pertama dengan jadual corak yang diketahui. Perintah Unix file mencari nombor magik berhampiran permulaan fail.

Header juga membantu anda mengesan masalah. Jika fail bernama photo.png tidak bermula dengan 89 50 4E 47, fail itu tidak mengikut format PNG. Permulaan fail mungkin rosak, atau fail itu mungkin jenis lain dengan sambungan yang salah.

Header yang hanya terdiri daripada bait 00 tidak sepadan dengan sebarang tandatangan biasa. Tetapi fail MP4 boleh bermula dengan 00, kerana saiz kecil dalam 4 bait pertama bermula dengan sifar. Apabila tiada apa yang sepadan dan bait tersebut bukan teks, pelayar melayan fail itu sebagai application/octet-stream.