Tiedostomuoto

**Tiedostomuoto** tai **tiedostoformaatti** ilmaisee tietokoneiden tallennusmedialle, esimerkiksi kiintolevylle talletetun tiedoston tallennusmuodon eli rakenteen. Monista tiedostomuodoista on olemassa julkinen määritelmä, jossa kuvataan miten tieto tulee koodata. Hyötynä on talletetun tiedon yhteensopivuus eri ohjelmien ja järjestelmien välillä sekä tallennustilan säästö.

## Tiedostomuodon merkintä ja tunnistus
Tiedostomuodon tunnistamiseen on kehitetty useita eri tapoja. Unix ja Unixin kaltaiset käyttöjärjestelmät tunnistavat tiedostomuodon sen alussa olevasta merkkisarjasta. Esimerkiksi GIF-kuvatiedostot alkavat ASCII-merkeillä `GIF87a` tai `GIF89a` standardista riippuen ja käännetty Java-koodi heksaluvuilla 0xCAFEBABE. Amiga OS tunnistaa tiedostot samalla menetelmällä ja esimerkiksi IFF -tiedostot alkavat merkkijonolla `FORM`. Neljän merkin "Type ID" tunnistetta kutsutaan eri yhteyksissä eri tavoin: Mac OS-alustalla Type ID-koodia kutsutaan OSType:ksi ja Windows-alustalla FourCC:ksi. Uudempi macOS noudattaa BSD:n tavoin Unix-tapaa. Tiedostomuoto voidaan tällöin tunnistaa sen nimeämisestä riippumatta ja esimerkiksi komentoriviputken tai verkon yli välitetyn datavirran yhteydessä tiedostomuoto tunnistetaan ilman nimeä.

Eräs käytetty tapa on käyttää tiedostopäätteitä. Eräät tiedostonhallintaohjelmat kuten Windows Explorer tai Konqueror käyttävät tiedostopäätettä päätelläkseen tiedoston tiedostotyypin. Tiedostopääte on tiedoston nimessä viimeisen pisteen jälkeen tulevat merkit. Esimerkiksi HTML-dokumentit tunnistetaan `.html`-tiedostopäätteestä.
Tiedostopäätteet näkyvät tiedostonimen loppuosassa pisteellä eroteltuna. Esimerkiksi tiedostonimessä `foobar.txt`, pääteosa `.txt` voi ilmaista tiedoston olevan yksinkertainen muotoilematon tekstitiedosto, jonka voi avata millä tahansa tekstitiedostoja lukevalla tekstieditorilla tai tekstinkäsittelyohjelmalla.

Eräs tapa ilmaista tiedostomuoto on MIME-tyypit. Ne ovat hallitseva tapa kuvata tiedostomuotoja Internetissä. MIME-muodot koostuvat standardoiduista tunnisteista, jossa tyyppi ja alatyyppi erotetaan vinoviivalla: esimerkiksi `text/html` tai `image/gif`. MIME-tyypit oli tarkoitettu alun perin kuvaamaan sähköpostin liitetiedostojen tiedostomuotoja alustariippumattomasti. Sama tekniikka on otettu WWW:n HTTP-tiedostosiirtoprotokollan käyttöön.

## Tekniikka
Tiedostomuoto tarkoittaa välttämättömien valinnaisten tietojen säilömistä rakenteeseen, joka voidaan ohjelmallisesti käsitellä yhdessä tai useammassa eri ohjelmassa. Välttämättömiä tietoja voivat olla audiokanavien lukumäärä ja näytteenottotaajuus äänen oikean toiston varmistamiseksi. Valinnaisia tietoja voivat olla tekijän ja tiedoston luomiseen käytetyn ohjelman nimi sekä ajan hetki.

Esimerkiksi AIFF-tiedostomuoto koostuu lohkoista, joissa kerrotaan tietynlaisia metatietoja itse audiodatasta. Metatiedot kertovat montako bittiä yksittäinen ääninäyte on ja ohjelma sen mukaan voi jakaa datan eri kanaviin. Käsittelevä ohjelma voi myös ohittaa lohkot joita se ei välttämättä tarvitse sillä hetkellä.

Säännönmukainen tiedostomuoto voi olla olennaista, jotta tietoa voidaan käsitellä luotettavasti eri ohjelmaversioiden ja eri ohjelmien välillä, osittain koska uudemmat versiot voivat lisätä tietoa jota aiemmat versiot eivät osaa käsitellä.

## Tiedostomuotoja

Tiedostomuotoja on olemassa useita eri tarkoituksiin. Joihinkin tarkoituksiin on jopa useita kilpailevia muotoja. Osa tiedostomuodoista on suunniteltu vain yhtä tarkoitusta varten, kuten JPEG staattisten kuvien tallennusta varten. Osaa tiedostomuodoista voidaan käyttää useaan tarkoitukseen, kuten GIF-tiedostomuoto, jota voidaan käyttää kuvien ja animaatioiden tallentamiseen. Tiedostomuodot voidaan jakaa käyttötarkoituksensa perusteella seuraavasti:

### Arkistotiedostomuodot
Arkistotiedostomuodot ("pakkausohjelmien" tiedostot) tiivistävät alkuperäisiä tiedostoja ja arkistoimalla säästetään muistitilaa tai pystytään siirtämään tiedostoja verkostossa vähäisemmällä määrällä tietoliikennettä.

* RAR 
* ZIP
* LHA
* LZX
* sit (Stuffit Expander)
* xar/xip

Unixeissa käytetty tar-ohjelma ei itsessään pakkaa, mutta tukee ulkoisia pakkausohjelmia, kuten gzip, bzip2 ja xz, pakkaamiseen ja purkamiseen.

### Pakettitiedostomuodot
Ohjelmien asennukseen käytettävät pakettitiedostomuodot kuten:
* APK
* deb
* RPM

### Kuvatiedostomuodot

Kuvatiedostomuotoja käytetään kuvien tallentamiseen, säilyttämiseen ja katseluun. Kuvat voidaan jakaa bittisyvyytensä mukaan määrittyviin värisyvyyksiin.

*BMP, Microsoftin Windowsissa käytetty bittikarttagrafiikan muoto, pakkaamaton tiedostomuoto
*GIF, kehittäjä/patentin haltija Unisys/IBM
*JPEG, kehittäjä Joint Photographic Experts Group, häviöllinen pakkaus
*PNG, vapaa W3C-standardi, uusin standardiversio ISO/IEC 15948:2003, häviötön pakkaus
*RAW-tiedostomuodot ovat digitaalikameroiden muokkaamattomien *raakakuvien* tiedostomuotoja, mitkä digitaalikamera tallentaa sellaisenaan käsittelemättöminä. 
*SVG, vektorigrafiikan tiedostomuoto
*TIFF, sivuntaitto-ohjelmien käyttämä kuvatiedostomuoto, häviötön

### Ohjelmatiedostomuodot

Ohjelmatiedostomuotoja käytetään konekielisten ohjelmien tiedoille sekä objektitiedostoille.

* Executable and Linkable Format (ELF)
* EXE
* MZ
* Portable Executable (PE)

### Teksti- ja dokumenttitiedostomuodot

Tekstitiedostomuotoja käytetään tekstien tallentamiseen ja esittämiseen. Dokumenttitiedostot voivat sisältää myös kuvia ja grafiikkaa sekä muotoilumäärittelyjä.

* tekstitiedosto, (toisinaan lyhennetty TXT), useita merkistöstä riippuvia muotoja
* Rich Text Format, "rikastettu" tekstitiedosto
* DOC, useita samaa nimeä käyttäviä tiedostomuotoja, mukaan lukien Microsoft Wordin käyttämä tiedostomuoto
* PostScript, sivunkuvauskieli ja dokumenttimuoto
* PDF, Adoben dokumenttimuoto
* EPUB, sähkökirjoissa käytetty muoto
* DjVu, skannatuille tiedoille suunnattu dokumenttimuoto
* DVI, TeX-ohjelmiston muoto

### Videotiedostot
Yleisimmät videotiedostot ovat säiliömuotoja, jotka eivät pakota mitään tiettyä koodekkia videolle tai äänelle vaan voivat sisältää eri tavalla koodattua dataa.

* AVI
* DivX
* Matroska
* MP4
* QuickTime
* WebM

### Äänitiedostomuodot

*AIFF, Applen suunnittelema tiedostomuoto, ei pakkausta (AIFF-C on pakkauksen sisältävä muoto)
*WAV tai WAVE, Microsoftin suunnittelema tiedostomuoto, ei pakkausta
*AU, Sun Microsystemsin suunnittelema tiedostomuoto, eri koodausmenetelmiä
*FLAC, vapaa standardi, häviötön pakkaus
*AAC, häviöllinen pakkaus, lisenssirajoitukset (patentit voimassa)
*MP3, häviöllinen pakkaus, lisenssirajoitukset (patentit vanhentuneet)
*Ogg, vapaa standardi, häviöllinen pakkaus
*MIDI, soitinäänet tallentava tiedostomuoto

## Katso myös
* Luettelo tiedostomuodoista
* Avoin tiedostomuoto
* Koodausmenetelmät

## Lähteet

## Aiheesta muualla

*FILExt – The File Extension Source  
*Wotsit  
*File extensions  
*FileExpert  
*http://www.fileinfo.net  
*Magic signature database – Standard file format information and FFID registry 
*Format wars File formats for websites and print explained
*File signatures (aka magic numbers) found in files to indicate their file type
*PRONOM technical registry
*Library of Congress file format information
* Intoduction to Uniform Type Identifiers
*Game File Format Central – A large and expanding list of detailed descriptions of game-related file-formats 
*BIEW Binary vIEW project