Formát souboru

Z Multimediaexpo.cz

Formát souboru (neboli typ souboru) určuje význam dat v elektronickém souboru.

Neboť na záznamová media, například pevný disk, mohou být ukládány jen bity, laicky řečeno jedničky nebo nuly, musí být počítač schopen na ně a zpět převést informaci. Existuje množství různých formátů, přizpůsobených pro ukládání různých typů informace. Často existuje více formátů pro reprezentaci jednoho typu dat.

Některé formáty jsou navrženy pro ukládání přesně daného typu dat, například JPEG je určen na uchovávání statických obrázků. Jiné mohou sloužit pro několik typů dat, např.: multimediální kontejnery (GIF slouží pro uchovávání jak statických obrázků, tak jednoduché animace; QuickTime mov může obsahovat různá multimediální data).

Textový soubor je určen pro uchovávání textu ve znakové sadě například ASCII, Unicode, nebo ISO-8859-2 s málo, pokud vůbec, řídícími znaky. Některé formáty jako HTML, nebo zdrojový kód jsou vlastně také textové soubory, ale platí pro ně složitější pravidla, aby mohly sloužit speciálním úkolům.

Je sice možné některé programy přimět, aby otevřely soubor cizího formátu, ale obvykle se pak zobrazí jen jako změť znaků. Nebo pokud si necháte přehrát textový formát Microsoft Wordu jako proud hudebních dat bez uvození (.raw) uslyšíte pravděpodobně neharmonické zvuky, protože takto ztrácí význam a jedná se jen o „náhodný“ shluk tónů.

Rozdíl mezi formátem souboru a programovacím jazykem se může jevit malý. Jazyk může být chápán jako formát pro ukládání algoritmů a prohlížeč jakéhokoli formátu například PNG jako interpret „jazyka“ PNG.

Obsah

Specifikace

Některé formáty mají vydanou specifikaci - dokument popisující jak do něj data zakódovat a naopak. Ale mnoho formátů ji nemá, důvody mohou být různé.

  • Formát souboru je považován za obchodní tajemství, a proto není zveřejněn. Toto je případ formátů sady Microsoft Office.
  • Vývojáři projektu nikdy dokumentaci nenapsali. Formát je definován implicitně tím, jak pracuje s daty.

Rozpoznávání formátu souboru

Pro správné zacházení s daty, bylo potřeba, aby operační systém rozeznal jaká data se v souboru v souborovém systému nacházejí. Operační systémy v minulosti zavedly několik způsobů řešení. Dnes se částečně prolínají a na jednom operačním systému (s aplikacemi) zpravidla najdeme vícero přístupů.

Podle přípony

Jednou z metod, využívanou například na operačních systémech vyvíjených DEC a CP/M, na operačních systémech typu DOS a Windows, je určit formát na základě části jména následující po poslední tečce „.“ (první zprava). Tato část se nazývá přípona souboru (označení přípona se může používat i pro další části nacházející se mezi libovolnými dvěma tečkami, ale ty nemají vliv na určování typu souboru a mohou mít jiný význam než přípony). Například „index.html“ je soubor jménem „index“, formátu HTML. V původním verzi souborového systému FAT byl název omezen na 8 znaků jména a 3 přípony, dnes už toto omezení neplatí, přesto je mnoho přípon právě třípísmenných. Navíc je díky tomuto omezení více formátů používajících stejnou zkratku, což může uživatelům vadit či způsobovat nepříjemnosti, když je soubor otvírán nevhodným programem.

Výhodou tohoto řešení byla snadná změna označení formátu přejmenováním, například z HTML na text přejmenujeme index.html na index.txt. Toto však oceňovali spíše zkušenější uživatelé. Méně zkušeným se pak stávalo, že nebyli schopni soubor otevřít čí ho považovali za ztracený. To vedlo v novějších operačních systémech jako je Windows 95 a vyšší čí Mac OS X k skrývání přípon při zobrazování.

Podle hlavičky

Naproti tomu Unix a od něj odvozené operační systémy využívají prvních bytů souboru. Ty obsahují jednoznačnou sekvenci k určení typu souboru. Původně to byly první dva byty, ale dnes je běžně delší. Například obrázky formátu GIF uvozuje sekvence GIF87a nebo GIF89a dle použitého standardu GIF.

Tento způsob sice umožňuje přesnou identifikaci formátu, ale pro zjištění formátu je třeba projít databázi možných hlaviček, což může zpomalovat v grafických aplikacích, kde kliknutí způsobí vykonání, proto je běžnější při práci s příkazovým řádkem.

Podle metadat

Další možností je ukládat data mimo soubor a jeho název. Toto splňují metadata uložená zvlášť souborovým systémem. Tento systém je méně přenosný mezi souborovými systémy, běžně se musí konvertovat.

Kód formátu na Mac OS

HFS, využívaný operačním systémem Mac OS na počítačích Macintosh, ukládá v rámci informací o obsahu adresáře kódy pro označení tvůrce a typu souboru. RISC OS používá obdobný systém, používá 12-bitové číslo k určení typu.

Rozšířené atributy na souborových systémech firem IBM a Microsoft

Souborové systémy HPFS, NTFS, FAT12, FAT16 a FAT32 umožňují ukládat rozšířené atributy, pomocí nichž lze přiřadit souboru několik typů.

Rozšířené atributy na Unixech

Souborové systémy ext2, ext3, ReiserFS verze 3 a vyšší, XFS, JFS a FFS umožňují ukládat rozšířené atributy, mimo jiné řetězce „jméno=hodnota“, k nimž mohou přistupovat programy toho jména.

MIME typy

MIME typy jsou časté u aplikací pracujících s Internetem a stále častěji i jinde, i když na discích je stále málo častý. Informace o typu se nachází mimo soubor a skládá se ze dvou částí typu a podtypu oddělených lomítkem, například text/html je text ve formátu html nebo image/gif je obrázek formátu gif. Původně byly Mime typy využívány k identifikaci přílohy e-mailu, které mohly chodit mezi odlišnými operačními systémy.

Externí odkazy