<
  • Главная
Статьи

Що таке HEX і ASCII-дескриптори або як визначити формат файлу без розширення

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

Логічно об'єднані послідовності нулів і одиниць як раз і складають те, що ми називаємо файлами. Але ж ми знаємо і те, що типів файлів дуже багато. Є текстові файли, мультимедійні, архівні, системні, виконувані і так далі. Яким же чином операційна система визначає як читати або обробляти той чи інший файл? Прикладні програми розпізнають тип файлу по його розширенню - набору символів наступних після імені файлу і відокремлених від нього точкою.

Але що буде, якщо розширення видалити? Все правильно, операційна система не зможе відкрити такий файл, так як не знатиме яку програму для цього використовувати. Однак ні логічна структура, ні вміст перейменування файлу від цього не зміниться. Ви і самі в цьому можете переконатися видаливши розширення якогось файлу, а потім спробувавши його відкрити відповідною програмою. Впевнені, з цим у вас проблем не виникне.

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

Грубо кажучи, всі файли складаються з двох частин. Перша частина це заголовок, що містить різну метаінформацію включаючи ті дані, які дозволяють прикладним програмам цей самий файл ідентифікувати. Друга частина це «тіло» файлу. Що відповідає за визначення типу файлу частина заголовка файлу іменується дескриптором або описом. Найбільш поширеними типами дескрипторів є HEX і ASCII. Перший тип заголовків можна переглянути тільки за допомогою спеціальних утиліт - шістнадцятирічних редакторів.

Для перегляду дескрипторів другого типу можна обійтися звичайним текстовим редактором, тим же Блокнотом або Notepad ++ . Однак слід враховувати, що далеко не всі послідовності байтів можна перевести в ASCII-код, тому для визначення формату все-таки краще використовувати HEX-редактори. Відкритий в HEX-редакторі файл відображається у вигляді матриці з послідовності байтів. Кожна клітинка відповідає одному байту. Дані дескриптора містяться якраз в перших трьох осередках (рідше двох або чотирьох), розташованих по горизонталі. Представляють вони з себе шість символів в шістнадцятковому обчисленні, наприклад 49 44 33 або ff d8 e0.

Природно вони потребують розшифрування. А розшифрувати їх можна на спеціальних сайтах з описами форматів. Одним з кращих сайтів, де можна визначити формат по HEX-дескриптору є open-file.ru . Є й інші подібні ресурси, але вони не настільки зручні. На open-file.ru ж є спеціальна пошукова форма, куди можна вставити HEX або ASCII дескриптор і пробити його по базі даних. Система швидко знайде відповідний формат і надасть вам його повний опис.

З HEX-редакторами все більш-менш зрозуміло, але як ми сказали для визначення ASCII-заголовків також можна використовувати редактори текстові. Принцип тут той же самий, відкриваємо файл Блокнотом або Notepad ++, копіюємо перші символи і вставляємо їх в пошукове поле того ж open-file або іншого сайту з підтримкою пошуку по заголовкам.

Здавалося б все дуже просто, але є в справі ідентифікації форматів і свої складності. Іноді ASCII-заголовки збігаються з розширенням файлу (RAR і PDF), але може бути і таке, що заголовок виявляється що належить відразу декільком форматам. Це можна бачити на прикладі офісного формату DOCX (PK і 50 4b 03 04). У таких випадках точно визначити формат проблематично.

У таких випадках точно визначити формат проблематично

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

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

Так, рядок [Content_Types] .xml в DOCX явно вказує на те, що досліджуваний файл є розмічені текстовим документом.

Яким же чином операційна система визначає як читати або обробляти той чи інший файл?
Але що буде, якщо розширення видалити?
Тоді що ж?
Тут виникає цілком закономірне питання, а як визначити формат файлу, якщо його розширення з якоїсь причини виявилося втрачено?


Новости
  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

    Сравнительно дешевый способ по сравнению с поисковым и контекстным видами раскрутки... 
    Читать полностью

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью