Формати даних - структура файлів

Контейнери.

Контейнерами в об'єктно-орієнтованих мовах програмування називаються спеціальні структури, всередині яких однаковим способом можуть бути представлені різні типи даних. Хорошим прикладом використання контейнерів може служити мова розмітки HTML, в якому кожна сторінка, по суті, є один великий контейнер, що починається з тега і закінчується тегом . У нього можуть бути вкладені контейнери заголовка (..), Тіла документа (..) і т.д.

Історія контейнерів - міфи і рифи

Давайте на прикладі популярних потокових форматів AVI і WAV розглянемо детальніше медіаконтейнера, а також торкнемося текстових контейнерів.

Audio Video Interleave - AVI

У перших байтах AVI-файлу завжди міститься інформація про контейнер: «RIFF <размер области данных> AVI ». Після них має йти як мінімум два блоки, що починаються зі слова LIST: блок заголовка 'hdrl' і блок даних 'movi'. У заголовку зберігаються дані, що визначають формати потоків, розташованих в області 'movi'.

Waveform Audio File Format - WAV

На відміну від AVI, формат «хвильових коливань» призначений тільки для аудіо. Для нього спочатку передбачалося, що звук записується несжатим, але були передбачені і різні звукові формати із стисненням.

У найпростішому випадку після ідентифікаційного заголовка в WAV-файлі вказується розмір і формат даних (на що відведено 24 байта), в тому числі наводиться величина бітрейту (скільки відліків в секунду), кількість каналів (моно або стерео) і т. П. Потім слід ключове слово data, після чого розташовуються власне дані. Якщо формат - без стиснення, то ці дані можуть представляти 8-бітний (по байту на кожен відлік) або 16-розрядний (по два байта на відлік) звук. Якщо число каналів більше одного, то відліки для кожного розташовуються один за одним, причому першим йде лівий канал, другим - правий. Настільки проста структура дозволяє використовувати WAV-файли для зберігання послідовностей оцифрованого сигналу не тільки для аудіонадобностей, а й інших (наприклад науково-технічних) цілей.

Зрозуміло, файли з таким поданням звуку без компресії виходять «непідйомними» (примітивний диктофон з 8-бітовим монофонічним звуком і бітрейтом 8 тис. Відліків в секунду зажадає приблизно 30 Мбайт дискового простору на кожну годину запису, а нормальний 16-бітний стереозвук CD-якості - вже близько полугігабайта в годину). Тому скільки-небудь довгі записи в стислому форматі невідомі: використовується варіант з компресією. У таких більш складних випадках WAV-файли включають додаткові заголовки і структури: в них вказується не тільки кодек, але і містяться дані про права копіювання та інша додаткова інформація.

Подання тексту в RTF

або м'якого переносу \ -).

Знаки, що виходять за межі 128 символів «канонічного» ASCII, повинні бути також представлені у формі керуючих послідовностей. Переважна частина RTF-файлів використовує однобайтових (\ ansi) кодування з одночасним зазначенням мови в формі \ ansicpgN, де N - кодова сторінка (1251 для кирилиці). В одному документі можна заважати мови, оголошуючи для відповідного фрагмента кожен раз свою кодову сторінку. У такому поданні кожен знак, наприклад, російського тексту передує «зворотним слешем», після чого йде керуючий символ у вигляді прямого апострофа « '» і код букви в шістнадцятковій формі: наприклад, \' c5 означає заголовну російську «Е».

Використання двобайтового кодування Unicode передбачено в більш пізніх версіях формату, причому декількома способами, найпростіший з яких - після «слеша» йде керуючий символ u, потім десятковий номер символу.

Файли, подібні DOC, - це досить складне структуроване сховище, в певній мірі нагадує структуру каталогів в дискової файлової системи FAT (навіть мінімальні розміри блоків даних збігаються з розміром дискового сектора і рівні зазвичай 512 байт). В такому файлі є кореневий каталог ( «кореневе сховище»), який вказує на те, в яких секторах розташовані різні дані і каталоги, що описують вкладені структури.

Дві особливості DOC-формату стали притчею во язицех: це, по-перше, здатність утримувати в своєму складі створені користувачем програми-макроси, по-друге, зберігати різні зміни, яких зазнав документ в процесі роботи над ним. Перше стало причиною появи макровірусів, здатних заражати систему (останнім часом, правда, макровіруси кілька «вийшли з моди», але берегтися від них все одно слід). А ось друге навіть не дуже зрозуміло навіщо зроблено - штатних засобів прочитати збережені зміни, якщо це спеціально не задано в процесі редагування, в Word'е немає, зате витягти їх сторонніми програмами не складає особливих труднощів. І це не раз служило джерелом конфузів для піар-відділів різних фірм, коли з невинного прес-релізу дозвільні журналюги витягували конфіденційну інформацію.

На відміну від DOC, RTF (Rich Text Format - «розширений текстовий формат») заснований не на якихось там спеціальних OLE-структурах, а являє собою незалежний від платформи текстовий документ, подібно HTML розмічений спеціальними службовими словами-тегами (в термінології RTF їх називають керуючими словами і керуючими символами). В силу відсутності будь-яких виконуваних кодів, він, зокрема, не може нести в собі віруси. Починається він завжди з послідовності

RTF - це класичний контейнер з вкладеними один в одного контейнерами подрібніше. Кожен такий контейнер зазвичай починається з керуючого слова або символу, яка випереджає знаком «зворотний слеш». Наприклад, послідовність \ раr задає початок абзацу, \ line - переклад рядка (без утворення нового абзацу), \ deffn - означає, що повинен використовуватися шрифт за замовчуванням і т. Д. Керуючі слова або діють до наступного знака того ж призначення, або перед ним може йти відкриває фігурна дужка, якій десь обов'язково повинна відповідати закриває - так отримують область дії керуючого слова, в тому числі у вкладених керуючих послідовностей. Наприклад, послідовність «\ par звичайний текст>. \ Par» відобразиться в окремому абзаці, як «Курсив звичайний текст жирний жирний курсив.» І завершиться перекладом на початок наступного абзацу.

В RTF можуть впроваджуватися таблиці і картинки, причому в останньому випадку RTF-файл буде значно більшого обсягу, ніж ідентичний за змістом DOC. Це відбувається тому, що картинка там представлена ​​у вигляді простого масиву чисел без будь-якого стиснення, причому числа дані в текстовому форматі, в шістнадцятковій формі, що збільшує обсяг ще рівно вдвічі: так, число 10, що займає один байт в пам'яті, буде записано , як два символи 0a.

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

Cпліттери, кодеки і їх коди

Як ви зрозуміли з цього прикладу, різних кодеків, що в принципі роблять одне і те ж, зустрічається безліч, і розібратися в них часто не під силу навіть знавцеві. Іноді стиснення може робитися різними кодеками, а ось відтворюється результат практично будь-яким того ж призначення; рідше кодеки виявляються несумісними і по відтворенню. Становище ускладнюється тим, що виробники дуже люблять давати власні найменування кодекам, які по суті нічим не відрізняються від більш поширених. Наприклад, DIVX, DVX3, SAN3, XVID - кодеки, які при відтворенні файлів MPEG-4 / DivX в переважній більшості випадків дадуть ідентичний результат.

Формати даних - структура файлів

Ноутбуки і мобільні комп'ютери.

Діагностика апаратного і програмного забезпечення ноутбука. Ремонт ноутбуків acer. Ремонт клавіатури ноутбука. Ремонт матриці ноутбука. Ремонт ноутбуків asus. Чистка ноутбука від пилу і бруду. Заміна та ремонт материнських плат ноутбука. Заміна роз'ємів USB, COM. Power jack. Терміновий ремонт ноутбуков.Снятіе пароля з ноутбука.

Збірка і Upgrade комп'ютерів.

Ремонт і модернізація комп'ютерів.
Установка устаткування в системному блоці.
Діагностика комп'ютерної техніки і периферійного обладнання.
Налаштування комп'ютерів і периферійного обладнання.

Робота з локальними мережами (ЛОМ).

Оцінка робочого місця та монтаж мережевого обладнання.
Налаштування робочого місця в локальній мережі.
Налаштування робочої станції для роботи через проксі-сервер.

Установка Windows і Office з дистрибутива замовника.

Установка програмного забезпечення.

Пошук несправностей програмного забезпечення. Налаштування ПО.
Установка антивірусного ПО. Пошук і знищення вірусів.
Установка 3D гри. Установка MS Office. Чистка реєстру.

Установка драйверів.

Професійно встановимо і налаштуємо драйвера

Схожі статті