Fájlformátum , adatformátum – a számítógépes fájlba rögzített adatstruktúra specifikációja . A fájlformátum azonosítóját általában a fájlnév végén adják meg " kiterjesztésként ". A fájlnév-kiterjesztés segít azonosítani a fájlban található adatok formátumát a vele együttműködő programok számára. Néha az adatformátum a fájltartalom elején is meg van adva.
Az operációs rendszer fájl-program társítást használ annak meghatározására, hogy melyik program képes megnyitni egy fájlt .
Például a „ .txt ” névvégződést (kiterjesztést) általában csak szöveges információkat tartalmazó fájlok jelölésére használják, a „ .doc ” pedig a Microsoft Word program szabványainak megfelelően strukturált szöveges információkat tartalmaznak . Azokat a fájlokat, amelyek tartalma megegyezik az azonos formátummal (ritkábban ugyanazzal a formátumcsaláddal), néha egyetlen fájltípusnak nevezik .
Mivel a fájl általános fogalma a számítástechnikában egy strukturálatlan bájtsorozat , a strukturált adatokat fájlokban tároló számítógépes programoknak valahogy bájtok sorozatává kell alakítaniuk azokat, és fordítva (az OOP -ban ezeket a műveleteket " sorosításnak " nevezik és "deserializáció"; szöveges információk esetében ez utóbbit "elemzésnek" vagy " elemzésnek " is nevezik. Az ezen átalakítások algoritmusa , valamint a különböző strukturált adatok fájlon belüli elrendezésére vonatkozó konvenciók alkotják a fájl "formátumát".
A különböző fájlformátumok részletezettségi szintje eltérő lehet, az egyik formátum a másik "kiegészítése" lehet, vagy más formátumú elemeket is használhat. Például a szövegformátum csak a legáltalánosabb korlátozásokat támasztja az adatszerkezettel kapcsolatban. A HTML formátum további szabályokat határoz meg a fájl belső szerkezetére vonatkozóan, de bármely HTML-fájl egyben szövegfájl is.
Egy másik példa a számítógépes programok - végrehajtható fájlok - szerkezete : szigorúan meg kell felelnie az azt indító operációs rendszer bizonyos elvárásainak (specifikációinak) .
Számos fájlformátumhoz vannak közzétett specifikációk , amelyek részletezik egy adott formátum fájlszerkezetét, azt, hogy a programok hogyan kódolják az adatokat, hogy ebbe a formátumba írhassák, és hogyan dekódolják azokat olvasáskor. Ezeknek a specifikációknak a többsége szabadon elérhető, néhányat térítés ellenében terjesztenek.
Előfordulhat, hogy a vállalatok bizonyos fájlformátumokat üzleti titkuknak tekintenek, és nem teszik közzé azokat. Jól ismert példa erre a Microsoft Office programcsomag fájlformátumai . A nyílt Office Open XML formátumra való átállással azonban a Microsoft továbbra is közzétette a formátumspecifikációkat az OSP [1] [2] [3] alatt . Egyes esetekben az alkalmazást kiadó cég egyszerűen nem érzi úgy, hogy időt szánjon egy részletes specifikáció megírására.
Ha nem áll rendelkezésre formátumspecifikáció, akkor visszafejtést kell végezni, hogy a program kompatibilis legyen az adott formátummal . A legtöbb vagy az összes országban a fájlformátumokat nem védik a szerzői jogi törvények. Egyes országokban azonban az adatok formátumba kódolására használt algoritmusok szabadalommal védettek lehetnek. Például a széles körben elterjedt GIF formátum egy szabadalmaztatott algoritmust használt (a szabadalmak 2003-2004 között jártak le különböző országokban), ami egy alternatív PNG formátum kifejlesztéséhez vezetett .
A fájltípus olyan információ, amellyel az operációs rendszer és a felhasználó gyorsan azonosíthatja a fájl tartalmát anélkül, hogy a fájl teljes tartalmát el kellene olvasnia. Ennek az információnak köszönhetően a felhasználó hozzávetőlegesen ismeri a fájlban található információ típusát, és az operációs rendszerhez társítható egy ilyen típusú fájlok feldolgozására szolgáló program. A fájlokkal való helyes működés érdekében a programoknak meg kell tudniuk határozni azok típusát. Történelmi okokból a különböző operációs rendszerek eltérő megközelítést alkalmaznak erre a feladatra.
Egyes operációs rendszerek, mint például a CP/M , RT-11 , DOS és Microsoft Windows , a fájlnév egy részét , azaz a „ fájlnévkiterjesztést ” használják a fájl típusának meghatározására. A régebbi operációs rendszerekben ez három karakter volt, amelyeket a fájlnévtől pont választott el (a FAT -családba tartozó fájlrendszerekben a név és a kiterjesztés külön volt tárolva, a pontot már az operációs rendszer szintjén hozzáadták ); az újabb rendszereken előfordulhat, hogy a kiterjesztés egyszerűen a név része, ebben az esetben a hosszát csak a név használaton kívüli hossza korlátozza (ami például 255 karakter lehet). Például a HTML-fájlok kiterjesztése „.htm” vagy „.html” lehet.
A felhasználó szabadon módosíthatja a fájl kiterjesztését. Mivel sok felhasználói shell egy kiterjesztést használ annak meghatározására, hogy melyik programmal nyisson meg egy fájlt, ez használhatatlanná teheti a fájlt, vagy akár "elveszett", ha a felhasználó elfelejti az eredeti kiterjesztést. Ezért a Windows Intéző alapértelmezés szerint elrejti a bővítményeket. Ennek a gyakorlatnak van egy árnyoldala: mivel a fájl kiterjesztése nem látható, elhitetheti a felhasználóval, hogy például egy .exe kiterjesztésű fájl egy másik kiterjesztésű kép. Ugyanakkor egy haladó felhasználó használhatja a fájlhoz rendelt típus megváltoztatásának lehetőségét a kiterjesztés egyszerű megváltoztatásával, hogy megnyissa azt egy másik programban anélkül, hogy közvetlenül megadná. Ez akkor lehet hasznos, ha a program nem rendelkezik bizonyos kiterjesztésű fájlok megnyitásával, és a felhasználó tudja, hogy azok formátuma alkalmas a programban való feldolgozásra.
Egy másik módszer, amelyet széles körben használnak a UNIX - szerű operációs rendszerekben, hogy magában a fájlban tárolnak egy bizonyos "varázsszámot" ( aláírást ) - egy olyan karaktersorozatot, amely alapján a fájlformátum azonosítható. A kifejezést eredetileg a fájl elején tárolt 2 bájtos azonosítók speciális halmazára használták (ez a gyakorlat más operációs rendszerekre is átkerült, például az MS-DOS- ban az MZ -re ), azonban bármilyen karaktersorozat erre a formátumra jellemző. "varázsszámként" használható.
A fájl formátumának meghatározásához használja a fájl parancsot, amely a /usr/share/misc/magic fájlt használja.
$fájl /bin/ls /bin/ls: ELF 32 bites LSB futtatható, Intel 80386, 1-es verzió (SYSV), dinamikusan csatolva (megosztott könyvtárakat használ), GNU/Linux 2.6.18-hoz, eltávolítva $filenotes.txt notes.txt: UTF-8 Unicode szöveg $ file left_2009-10-12.odt left_2009-10-12.odt: OpenDocument szövegA szkriptfájlokban az úgynevezett " shebang "-okat tartalmazó sorok a "varázsszámok " egy speciális fajtája. Itt az aláírás egy ember által olvasható szöveg, amely meghatározza a programot - a szkript értelmezőt.
Egyes fájlrendszerek további attribútumok, például " metaadatok " tárolását teszik lehetővé minden fájlhoz . Ezek a metaadatok a fájltípussal kapcsolatos információk tárolására használhatók. Ezt a megközelítést Apple Macintosh számítógépeken használják . A metaadatokat olyan modern fájlrendszerek támogatják, mint a HPFS , NTFS , ext2 , ext3 és mások. Ennek a módszernek a hátránya a rossz hordozhatóság - a fájlok különböző típusú fájlrendszerek közötti másolásakor a metaadatok elveszhetnek.
A MIME szabvány által meghatározott adattípusokat széles körben használják különféle hálózati protokollokban , de a fájlrendszerekben még mindig ritkán használják őket.