Textový soubor

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

Textový soubor je konkrétní soubor, který obsahuje pouze textová data. Textový formát je takový formát souborů, ve kterém se používají pouze textová data. Textová data jsou data složená výhradně z tisknutelných znaků. V závislosti na použitém kódování mohou být jednotlivé znaky reprezentovány jedním bytem, dvojicí bytů nebo posloupností bytů. Pokud je možné soubor přečíst po znacích nebo po celých slovech do telefonu, jedná se o textový soubor.

Soubory, formáty a data, která nejsou textová, nazýváme binárními. V binárních datech mohou mít jednotlivé byty nebo skupiny bytů význam například barev, tónů, napětí nebo velikostí, pozic v souboru, posunutí či strojových instrukcí.

Textový soubor může obsahovat prostý text, formátovaný text obohacený dalšími informacemi například v nějakém značkovacím jazyce jako je HTML, nebo libovolná data zapsaná v textovém tvaru (jako je tomu například u souborů typu CSV – comma separated values, které obsahují hodnoty oddělené čárkami).

Zdrojový kód wikistránek je vlastně také pouze formátovaný text, který je možné snadno uložit do textového souboru. Na tom je založen např. systém DokuWiki.

Kromě tisknutelných znaků může textový soubor obsahovat neviditelné řídicí „bílé znaky“, pro které se užívá anglický termín „whitespace“ (doslova bílé místo). V běžném textovém souboru se vyskytují pouze následující tři netisknutelné znaky:

  • mezera
  • tabulátor
  • odřádkování: (CR, LF, nebo sekvence CR-LF)

Soubory obsahující řídicí znaky nebo ANSI sekvence pro zvýrazňování částí textu nesplňují výše uvedenou definici, ale v některých případech jsou také považovány za textové.

Členění na řádky[editovat | editovat zdroj]

Textový soubor není prostou lineární posloupností znaků, ale je členěn na jednotlivé řádky. U historických operačních systémů byl řádek reprezentován pevným počtem znaků (nejčastěji 80 podle počtu pozic na nejrozšířenějších děrných štítcích) nebo záznamem proměnné délky, který začínal údajem o délce. U moderních operačních systémů mají řádky proměnnou délku a každý řádek je zakončen znakem konce řádku:

  • v Unixu znakem LF (line feed – nový řádek)
  • na počítačích Macintosh znakem CR (carriage return – návrat vozíku)
  • v operačním systému MS-Windows a DOS dvojicí znaků CR, LF

Znak konec souboru[editovat | editovat zdroj]

Starší operační systémy (například CP/M) neudržovaly délku souboru v bytech, ale v blocích (záznamech, sektorech). Aby mohl textový soubor končit jinde než na konci bloku, ukládal se na konec souboru znak konce souboru (End of File – EOF). V novějších operačních systémech se znak konce souboru uplatňuje pro ukončení souboru čteného z klávesnice; v operačním systému MS-Windows a DOS se používá znak s kódem 26 (Ctrl-Z), v Unixech znak s kódem 4 (Ctrl-D).

Kódování textových souborů[editovat | editovat zdroj]

Klasický textový soubor je psán ve znakové sadě ASCII, kde jeden byte odpovídá jednomu tisknutelnému znaku.

Pro zápis národních znaků se používala nejrůznější osmibitová kódování, v současnosti se používá Unicode, který umožňuje zakódovat všechny v současnosti běžně používané znaky, včetně znaků čínské (japonské, korejské) znakové řeči a jiných orientálních skriptů (indické skripty jako sanskrt, dévanágarí, tibetské skripty atp.). Unicode bývá zaznamenáván nejčastěji v UCS-2 nebo UTF-16 (MS-Windows, SMS), kde jeden znak je tvořen dvěma případně čtyřmi byty, nebo UTF-8 (Unixy, WWW, e-mail), kde znak je tvořen posloupností 1-4 bytů.

Textová reprezentace binárních dat[editovat | editovat zdroj]

Protože pro zpracování textových souborů existuje velké množství nástrojů, a textová data lze snadno přenášet, bylo vyvinuto množství způsobů pro reprezentaci binárních dat v textové podobě. Mezi nejstarší patří Intel HEX, který se používá hlavně pro zápis obsahu paměti. Významným oborem, který podnítil vývoj textových reprezentací binárních dat byly počítačové sítě a telekomunikace, především elektronická pošta. Po starších formátech specifických pro jednotlivé operační systémy, jako je uuencode používaném v rodině operačních systémů Unix, a BinHex používaných na počítačích Macintosh, přišel standard MIME s kódováním base64 pro binární soubory a quoted-printable pro textové soubory obsahující i jiné než ASCII znaky.

Odkazy[editovat | editovat zdroj]