Binární soubor

Z Wikipedie, otevřené encyklopedie

Binární soubor je v informatice počítačový soubor, který obsahuje jakákoliv data, která jsou následně zpracovávána počítačovým programem. Obsahem souboru jsou čísla v binární soustavě (řetězec nul a jedniček), která reprezentují jistým způsobem uloženou informaci, což může být zvuk, obrázek, video, ale i formátovaný text, databáze a podobně. Při čtení binárního souboru je proto nutné vědět, jak uložená data interpretovat.

Opakem binárních dat je textový soubor, ve kterém jednotlivé byty, dvojice bytů nebo posloupnosti bytů mají význam znaků v určité znakové sadě.

Obsah binárního souboru[editovat | editovat zdroj]

Binární soubor je označení pro data, která je nutné po přečtení nějakým způsobem interpretovat. Data mohou být uložena jinak, než ve formě řady za sebou uložených bajtů (osm bitů) a při jejich čtení je nutné je správně interpretovat.

Hlavička[editovat | editovat zdroj]

Pokusíme-li se zobrazit uložený zvuk jako obrázek, zobrazíme nejspíše chaotickou změť bodů, která nevytváří rozumný obrázek (platí samozřejmě i obráceně). Proto binární soubory někdy obsahují hlavičku (záhlaví), která uložená data popisuje (tzv. metadata). Pomocí formátu záhlaví lze pak obvykle zjistit, jaká data jsou v souboru uložena. Například EXE soubory začínají dvěma charakteristickými znaky (MZ, NE, LE, NX, PE). V unixových systémech existuje nástroj file, který podle těchto charakteristických znaků dokáže určit, jaká data jsou v souboru uložena.[1]

Vlastní data[editovat | editovat zdroj]

Za hlavičkou následují vlastní data obsažená v binárním souboru. Jejich organizace je závislá na tom, jak je příslušný program zapisuje (a čte). U některých formátů je všeobecně známo, jakou mají strukturu, u jiných to známé být nemusí, případně to ani není nutné (jsou-li k dispozici nástroje, které umí binární soubor zpracovat, prohlížet a upravovat).

Data mohou být čtena po jednotlivých bajtech, ale i po více bajtech nebo naopak po jednotlivých bitech. Mohou být interpretována jako text, obraz, zvuk a podobně.

Mezi binární soubory se známým formátem patří multimediální soubory (například GIF, JPEG, MPEG, …), spustitelné soubory (EXE, ELF, …) a další. Formát souborů pro uchování dokumentů textového editoru Microsoft Word (.DOC) je převážně známý, avšak jeho interpretace přesto není dokonalá, protože význam jednotlivých údajů je jen odhadován (viz otevírání těchto souborů v OpenOffice.org).

E-mail[editovat | editovat zdroj]

Při posílání binárních souborů pomocí e-mailu je nutné jejich obsah transformovat do textové podoby (Base64, Quoted-printable, Uuencoding a podobně), protože starší systémy pro přepravu elektronické pošty neumí přepravovat binární data. Konvertovaná podoba má však typicky větší délku, než původní binární data.

Binární a textový režim[editovat | editovat zdroj]

Microsoft Windows umožňuje při otevírání souboru specifikovat parametr systémového volání, který určuje, je-li soubor textový nebo binární. U souborů otevřených jako textové dochází k převodu konců řádků mezi dvojicí CR, LF na disku a LF v přečtených nebo zapisovaných datech. V Unixových systémech tento převod není potřeba, proto není nutné tyto režimy rozlišovat.

Čtení binárních souborů[editovat | editovat zdroj]

Pokud otevíráte binární soubor v textovém editoru, každá skupina osmi bitů bude typicky přeložená jako jeden znak. Uvidíte (pravděpodobně nelogicky) zobrazení textových znaků tak, jako by byl tento soubor otevřen v jiné aplikaci. Tato aplikace bude mít svůj vlastní význam pro každý bajt: je možné, že daná aplikace bude nakládat s každým bajtem jako s číslem, a pošle na výstup tok čísel v rozpětí 0 až 255. A nebo je možné, že bude interpretovat tato čísla v bajtech jako barvy, a zobrazí odpovídající obrázek. Jestliže se se samotným souborem nakládá jako s vykonavatelným a spustitelným souborem, tak se počítač pokusí interpretovat tento soubor jako sérii strojových instrukcí.

Na čtení hexadecimálních (možné dokonce i decimálních) hodnot pro zodpovídající bajty binárního souboru se může použít hex editor. S bajty se nakládá stejně jako s jejich hexadecimálními hodnotami v hexadecimálním editoru.

Reference[editovat | editovat zdroj]

Související články[editovat | editovat zdroj]

Externí odkazy[editovat | editovat zdroj]