Файлов формат

от Уикипедия, свободната енциклопедия

Направо към: навигация, търсене

Файлов формат е определен начин за кодиране на информацията, когато тя се преобразува за съхранение в компютърен файл.

Файловете представляват последователност от битове (нули и единици) и компютърните програми трябва по някакъв начин да преобразуване на информацията от достъпен за човека вид в нули и единици и обратно. За различните видове информация има различни видове формати. Даден тип файл, например документ на текстообработваща програма, обикновено може да бъде с няколко различни формата. Понякога тези формати се съревновават един с друг.

Съдържание

[редактиране] Обща част

Някои файлови формати са създадени за строго определени типове данни: например при изображенията JPEG форматът е разработен, за да съхранява само статични фотографски изображения. Други формати обаче са разработени, за съхранение на различни типове данни: GIF (Graphics Interchange Format) форматът подържа както статични изображения, така и несложни анимации, а QuickTime форматът може да се използва като контейнер за различни типове multimedia.

Текстов файл е файл, който съдържа текст, кодиран като ASCII или UTF-8, с малко (ако въобще ги има) контролни знаци. Някои файлови формати като HTML, или изходния код (source code) на някой програмен език, всъщност са също текстови файлове, но отговарят на някои по-специални правила, които позволяват да бъдат използвани и за други специфични цели.

Възможно е понякога да накараме дадена програма да прочете файл, кодиран по един начин, все едно, че е кодиран по друг. Например можем да пуснем един Microsoft Word документ все едно, че е песен, като използваме програма за слушане на музика, която борави с безхедърни ("headerless") аудио файлове. Но резултатът със сигурност няма да звучи особено мелодично... Причината за това е, че подредба на битовете, която е смислена за един формат, почти винаги е безсмислена в друг формат.

[редактиране] Спецификации

Много файлови формати, включително повечето популярни формати, имат публикувани спецификации (обикновено с пример за реализацията им), които описват точно как данните трябва да бъдат кодирани и определят дали дадена програма обработва даден компютърен формат коректно. Има две причини, поради които не винаги има спецификация:

  • Първата е, че някои от разработчиците на файлови формати считат техните документи за спецификация за търговска тайна и по тази причина не ги правят публично достояние.
  • Втората - някои от разработчиците на файлови формати никога не хабят време за писането на документация за спецификация; в такъв случай файловият формат по-скоро се определя от самата програма, която го интерпретира.

Използването на файлови формати, за които няма публично достъпна спецификация, може да струва скъпо. За да научите как точно работи форматът, се изисква или използването на обратно проектиране (reverse engineering) от вече образувани файлове, или получаването на спецификация срещу определена сума от разработчиците на формата. Този втори поход е възможен единствено, ако "съществува" такъв документ и обикновено е съпътстван от подписването на споразумение за конфиденциалност (non-disclosure agreement). И двата подхода изискват значително време, пари или и двете. По тази причина, като правило, файловите формати с публично достъпни спецификации се поддържат от голям брой програми, докато затворените формати се поддържат само от някои специализирани програми.

За защита на файловите формати се прилага по-често патентното, отколкото авторското право. Макар според американските закони не се разрешават патенти директно за файлови формати, някои от форматите използват кодиране на информацията с алгоритми, които са обект на патент. Например GIF форматът изисква прилагането на патентован алгоритъм и макар в началото притежателите на патента да не са го изисквали, по-късно започват да искат пари за използването на алгоритъма. Това довело до значително намаляване на използването на този формат и е отчасти причина за появяването на алтернатимен формат - PNG Portable Network Graphics. Въпросният патент обаче е изтекъл в САЩ през 2003, а в световен мащаб в средата на 2004. Според европейското право алгоритмите обикновено не се патентоват [1]

[редактиране] Определяне на типа на файла

Програмите виждат файловете като потоци от данни, следователно нужен е метод чрез който да се определи форматът на определен файл от файловата система—един пример за използване на метаданни. Различните операционни системи по традиция използват различни подходи към този проблем, като всеки подход има своите предимства и недостатъци.

Разбира се, повечето модерни операционни системи, както и самостоятелните приложения, трябва да могат да използват всеки един от тези подходи, за да обработват различни файлове, или ако не могат да работят пълноценно, поне да четат 'чужди' файлови формати.

[редактиране] Разширения на файловите имена

Един популярен метод, който се използва при някои операционни системи, в това число Mac OS X, CP/M, DOS, VMS, VM/CMS, и Windows, е да се определя форматът на файла на базата на частта от неговото име след последната точка. Тази част от файла е известна като разширение (extension). Например, HTML документите се идентифицират с имена завършващи с .html (или .htm), а GIF изображенията чрез .gif. В оригинално създадената FAT файлова система, файловите имена бяха ограничени до осем символа за идентификатор (име) и до три символа като разширение, което е известно като 8.3 filename. Поради това много формати все още използват разширения от три символа, въпреки че модерните операционни системи и приложения вече нямат такова ограничение. Тъй като няма стандартен списък с разширения, може да се случи няколко формата да използват едно и също разширение, което може да обърка операционната система, а впоследствие и потребителите.

Една особеност на този подход е, че системата може лесно да бъде измамена да третира файла като различен формат просто като се преименува — един HTML файл, например, може лесно де се третира като обикновен текст като се преименува от filename.html на filename.txt. Въпреки, че тази стратегия е удобна за напреднали потребители, за които е лесно да разберат и използват тази информация, тя често е объркваща за по-малко технически ориентирани потребители, които биха могли по невнимание да да направят файловете неизползваеми (и дори да ги "загубят") като просто ги преименуват некоректно. Поради това в по-новите операционни системи, като Windows 95 иMac OS X, разширенията на файловете не се показват при извеждането им като списъци. Разбира се, по-напредналите потребители винаги могат да видят разширението на даден файл.


[редактиране] Източници

  1. Foundation for a Free Information Infrastructure. „Europarl 2003-09-24: Amended Software Patent Directive“. Посетен на 2007-01-07

[редактиране] Вижте също


[редактиране] Външни препратки


Лиценз за свободна документация на ГНУ Тази страница частично или изцяло представлява превод на страницата „File format“ в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите. 
Лични инструменти