Словник

Що таке raw header файлу?

Необроблений заголовок показує перші байти файла у вигляді шістнадцяткових чисел. Ці байти розкривають справжній тип файла, і багато з них ви можете прочитати як текст.

raw-header

Сирий заголовок це перша частина файла, показана побайтно, а не як іменовані поля метаданих. Багато форматів файлів починаються з фіксованої послідовності байтів, яку часто називають сигнатурою або магічним числом. Програми читають цю послідовність, щоб визначити, який це тип файла.

У звіті про метадані поле Raw Header показує ці байти у вигляді шістнадцяткових чисел. Кожна пара символів, наприклад 89 або FF, відповідає одному байту.

Електронний лист також має заголовок угорі, з полями на кшталт From, To і Subject. Ця стаття стосується заголовка файла.

Як виглядає значення

Шістнадцяткова система, або база 16, записує кожен байт як 2 символи з цифр від 0 до 9 і літер від A до F. Тому байт може мати будь-яке значення від 00 до FF.

У кодуванні символів ASCII значення від 21 до 7E відповідають літерам, цифрам і розділовим знакам, а 20 це пробіл. Значення нижче 20 є керівними кодами, а 00 це нульовий символ, що називається NUL.

Як прочитати необроблений заголовок як текст

Щоб перетворити сирий заголовок на текст, знайдіть кожен байт у таблиці ASCII. Лише байти від 20 до 7E відповідають видимому символу ASCII або пробілу. Інші байти цього не роблять, тому зазвичай можна прочитати лише частину заголовка.

  • 25 50 44 46 2D читається як знак відсотка, літери PDF і дефіс.
  • 89 50 4E 47 містить літери PNG у байтах з 2 по 4.

Типові значення

Поширені формати починаються з таких сигнатур:

  • Зображення PNG: 89 50 4E 47 0D 0A 1A 0A
  • Зображення JPEG: FF D8 FF, де FF D8 позначає початок зображення
  • Зображення GIF: 47 49 46 38, потім 39 61 або 37 61 (GIF89a або GIF87a)
  • Документ PDF: 25 50 44 46 2D, потім версія, наприклад 1.7
  • Зображення TIFF, little-endian: 49 49 2A 00 (II, потім число 42)
  • Зображення TIFF, big-endian: 4D 4D 00 2A (MM, потім число 42)
  • Архів ZIP і файли Office на основі ZIP, наприклад DOCX: 50 4B 03 04 (PK)
  • Аудіо MP3 з тегом ID3v2: 49 44 33 (ID3)
  • Аудіо WAV: 52 49 46 46 (RIFF), 4 змінні байти, потім 57 41 56 45 (WAVE)
  • Відео MP4: 4-байтовий розмір, потім 66 74 79 70 (ftyp)

У файлі TIFF перші 2 байти також задають порядок байтів для чисел у файлі. У файлі PDF символи після сигнатури вказують версію PDF, але запис далі у файлі може її перевизначити.

Які файли містять його

Кожен файл має сирий заголовок, але не кожен формат має сигнатуру. Текстові файли починаються безпосередньо зі свого тексту. Програми розпізнають їх, тому що їхні перші байти містять лише текстові символи.

Чому це важливо

Розширення імені файла це лише частина назви, і будь-хто може його змінити. Заголовок може показати справжній тип файла і тип MIME, навіть якщо розширення неправильне.

Вебсервер може не надіслати тип MIME, або браузер може вирішити, що отриманий тип неправильний. Тоді браузер може порівняти перші байти з таблицею відомих шаблонів. Команда Unix file шукає магічне число поблизу початку файла.

Заголовок також допомагає виявити проблеми. Якщо файл із назвою photo.png не починається з 89 50 4E 47, він не відповідає формату PNG. Початок файла може бути пошкоджений, або файл може бути іншим типом з неправильним розширенням.

Заголовок, що складається лише з байтів 00, не збігається з жодною поширеною сигнатурою. Але файл MP4 може починатися з 00, оскільки невеликий розмір у перших 4 байтах починається з нуля. Коли нічого не збігається і байти не є текстом, браузери обробляють файл як application/octet-stream.

Мета ключі