Formát souboru

Formát souboru (neboli typ souboru) označuje standard, na základě kterého jsou elektronická data uložena do počítačového souboru. Formáty mají své názvy a obvykle jim odpovídá přípona souboru.

Formát odpovídá typu dat (např. text, obraz nebo zvuk) a způsobu jejich kódování, tedy jaký způsob je použitý pro převod dat na posloupnost čísel (bajtů), aby mohla být uložena na záznamové medium, například pevný disk. Jeden typ dat obvykle může být uložen ve více různých formátech souboru, které se mohou lišit například přesností (bitovou hloubkou), komprimací nebo možnostmi ukládaných dat (formátovaný text).

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.

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šší 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á 12bitové čí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.

Odkazy

Reference

Externí odkazy 
 
 Databáze přípon souborů (částečně česky)
 Rozsáhlý seznam známých i neznámých přípon souborů (anglicky)
 File extensions database (anglicky)

Souborové formáty
Ukládání dat
Zpracování digitálního signálu