Filformat

Filformat , dataformat  - specifikation av datastrukturen registrerad i en datorfil . Filformatets identifierare anges vanligtvis i slutet av filnamnet som ett " tillägg ". Filnamnstillägget hjälper till att identifiera formatet på data som finns i filen för program som kan arbeta med den. Ibland anges även dataformatet i början av filinnehållet.

Operativsystemet använder fil-till-program- association för att avgöra vilket program som kan öppna en fil .

Till exempel, namnändelsen (tillägget) " .txt " används vanligtvis för att beteckna filer som endast innehåller textinformation och " .doc " - innehållande textinformation strukturerad i enlighet med standarderna för Microsoft Word- programmet . Filer vars innehåll överensstämmer med samma format (mindre vanligt, samma familj av format) kallas ibland för enstaka filtyper .

Eftersom det vanliga konceptet med en fil i datoranvändning är en ostrukturerad sekvens av byte , måste datorprogram som lagrar strukturerad data i filer på något sätt konvertera dem till en sekvens av byte och vice versa (i OOP kallas dessa operationer för " serialisering " och "deserialisering"; för textinformation kallas det senare också "parsing" eller " parsing "). Algoritmen för dessa transformationer, liksom konventionerna för hur olika delar av strukturerad data är ordnade i filen, utgör dess "format".

Olika filformat kan variera i detaljnivå, ett format kan vara ett "tillägg" till ett annat, eller använda element av andra format. Till exempel lägger textformatet endast de mest allmänna begränsningarna på datastrukturen. HTML -formatet sätter ytterligare regler för filens interna struktur, men vilken HTML-fil som helst är samtidigt en textfil.

Ett annat exempel är strukturen för datorprogram - körbara filer : den måste strikt överensstämma med vissa förväntningar (specifikationer) på operativsystemet som startar den .

Specifikationer

För många filformat finns det publicerade specifikationer som beskriver filstrukturen för ett givet format, hur program ska koda data för att skriva till det formatet och hur man avkodar det när det läses. De flesta av dessa specifikationer är fritt tillgängliga, vissa distribueras mot en avgift.

Ibland kan företag betrakta vissa filformat som sin affärshemlighet och inte publicera dem. Ett välkänt exempel är filformaten för Microsoft Office-paketet . Men med övergången till det öppna Office Open XML-formatet publicerade Microsoft fortfarande formatspecifikationer under OSP [1] [2] [3] . I vissa fall känner företaget som släppte applikationen helt enkelt inte behovet av att ta sig tid att skriva en detaljerad specifikation.

Om en formatspecifikation inte är tillgänglig måste omvänd konstruktion göras för att göra programmet kompatibelt med det formatet . I de flesta eller alla länder är filformat inte skyddade av upphovsrättslagar. I vissa länder kan dock algoritmer som används för att koda data till ett format vara skyddade av patent. Till exempel använde det utbredda GIF -formatet en egenutvecklad algoritm (patenten gick ut i olika länder 2003-2004), vilket ledde till utvecklingen av ett alternativt PNG-format .

Bestämma filtypen

Filtypen är information för att snabbt identifiera innehållet i en fil av operativsystemet och användaren utan att behöva läsa hela innehållet i filen. Tack vare denna information vet användaren ungefär vilken typ av information som finns i filen, och operativsystemet kan kopplas till ett program för att behandla filer av denna typ. För att fungera korrekt med filer måste program kunna bestämma deras typ. Av historiska skäl använder olika operativsystem olika tillvägagångssätt för denna uppgift.

Filnamnstillägg

Vissa operativsystem, som CP/M , RT-11 , DOS och Microsoft Windows , använder en del av ett filnamn , det vill säga " filnamnstillägg ", för att bestämma typen av en fil. I äldre operativsystem var dessa tre tecken separerade från filnamnet med en punkt (i filsystem av FAT -familjen lagrades namnet och tillägget separat, punkten lades till redan på OS- nivån ); på nyare system kan tillägget helt enkelt vara en del av namnet, i vilket fall dess längd begränsas endast av den oanvända längden på namnet (som till exempel kan vara 255 tecken). HTML-filer kan till exempel ha tillägget ".htm" eller ".html".

Användaren kan fritt ändra filändelsen. Eftersom många användarskal använder ett tillägg för att avgöra vilket program som ska öppna en fil med, kan detta göra filen oanvändbar eller till och med "förlorad" om användaren glömmer det ursprungliga tillägget. Därför döljer Utforskaren tillägg som standard. Denna praxis har en nackdel: eftersom filtillägget inte är synligt kan du lura användaren att tro att till exempel en fil med filtillägget .exe är en bild med en annan filändelse. Samtidigt kan en avancerad användare använda möjligheten att ändra typen som tilldelas en fil genom att helt enkelt ändra filtillägget för att öppna den i ett annat program utan att direkt specificera det. Detta kan vara användbart om programmet inte ger möjlighet att öppna filer med någon förlängning, och användaren vet att deras format är lämpligt för bearbetning i detta program.

Magiska siffror

En annan metod, som ofta används i UNIX -liknande operativsystem, är att lagra i själva filen ett visst "magiskt nummer" ( signatur ) - en sekvens av tecken med vilka filformatet kan identifieras. Termen användes ursprungligen för en speciell uppsättning 2- byte identifierare lagrade i början av en fil (denna praxis har migrerat till andra operativsystem, såsom MZ i MS-DOS ), dock alla teckensekvenser som är specifika för detta format kan användas som " magiskt nummer.

För att bestämma formatet på en fil, använd filkommandot, som använder filen /usr/share/misc/magic

$fil /bin/ls /bin/ls: ELF 32-bitars LSB körbar, Intel 80386, version 1 (SYSV), dynamiskt länkad (använder delade libs), för GNU/Linux 2.6.18, avskalad $filenotes.txt notes.txt: UTF-8 Unicode-text $ fil leave_2009-10-12.odt leave_2009-10-12.odt: OpenDocument Text

Rader med så kallade " shebangs " i skriptfiler är en speciell sorts "magiskt tal". Här är signaturen en läsbar text som definierar programmet – manustolken.

Metadata

Vissa filsystem tillåter att ytterligare attribut lagras för varje fil, det vill säga " metadata ". Denna metadata kan användas för att lagra information om filtypen. Detta tillvägagångssätt används i Apple Macintosh-datorer . Metadata stöds av moderna filsystem som HPFS , NTFS , ext2 , ext3 , och andra. Nackdelen med denna metod är dålig portabilitet - vid kopiering av filer mellan filsystem av olika typer kan metadata gå förlorade.

MIME

Datatyperna som definieras av MIME- standarden används ofta i olika nätverksprotokoll , men de används fortfarande sällan i filsystem.

Se även

Anteckningar

  1. Tamura Jones. Microsoft släpper Office Binary Formats . www.tamurajones.net. Hämtad 11 januari 2018. Arkiverad från originalet 12 november 2017.
  2. Öppna  specifikationslöfte . msdn.microsoft.com. Hämtad 11 januari 2018. Arkiverad från originalet 7 december 2017.
  3. ↑ Förstå kontors binära filformat  . msdn.microsoft.com. Hämtad 11 januari 2018. Arkiverad från originalet 11 juli 2017.

Länkar