Filformat

Filformat , dataformat  - specifikation af datastrukturen registreret i en computerfil . Filformatidentifikationen er normalt angivet i slutningen af ​​filnavnet som en " extension ". Filtypenavnet hjælper med at identificere formatet af dataene i filen til programmer, der kan arbejde med det. Nogle gange er dataformatet yderligere angivet i begyndelsen af ​​filindholdet.

Operativsystemet bruger fil - til-program tilknytning til at bestemme, hvilket program der kan åbne en fil .

For eksempel bruges navneenden (udvidelsen) " .txt " normalt til at angive filer, der kun indeholder tekstinformation , og " .doc " - indeholdende tekstinformation struktureret i overensstemmelse med standarderne for Microsoft Word -programmet . Filer, hvis indhold er i overensstemmelse med det samme format (mindre almindeligt, den samme familie af formater) omtales nogle gange som enkelte filtyper .

Da det almindelige koncept for en fil i computere er en ustruktureret sekvens af bytes , skal computerprogrammer, der gemmer strukturerede data i filer, på en eller anden måde konvertere dem til en sekvens af bytes og omvendt (i OOP kaldes disse operationer henholdsvis " serialisering " og "deserialisering"; for tekstinformation kaldes sidstnævnte også "parsing" eller " parsing "). Algoritmen for disse transformationer, såvel som konventionerne for, hvordan forskellige stykker strukturerede data er arrangeret i filen, udgør dens "format".

Forskellige filformater kan variere i detaljeringsgraden, et format kan være en "tilføjelse" til et andet, eller bruge elementer af andre formater. For eksempel pålægger tekstformatet kun de mest generelle begrænsninger for datastrukturen. HTML - formatet sætter yderligere regler for filens interne struktur, men enhver HTML-fil er samtidig en tekstfil.

Et andet eksempel er strukturen af ​​computerprogrammer - eksekverbare filer : den skal nøje overholde nogle forventninger (specifikationer) for det operativsystem, der starter det .

Specifikationer

For mange filformater er der offentliggjorte specifikationer , der beskriver filstrukturen for et givet format, hvordan programmer skal kode data for at skrive til det format, og hvordan de afkodes, når de læses. De fleste af disse specifikationer er frit tilgængelige, nogle distribueres mod et gebyr.

Nogle gange kan virksomheder betragte visse filformater som deres forretningshemmeligheder og ikke offentliggøre dem. Et velkendt eksempel er filformaterne i Microsoft Office-pakken . Men med overgangen til det åbne Office Open XML-format offentliggjorde Microsoft stadig formatspecifikationer under OSP [1] [2] [3] . I nogle tilfælde føler virksomheden, der har udgivet applikationen, simpelthen ikke behov for at tage sig tid til at skrive en detaljeret specifikation.

Hvis en formatspecifikation ikke er tilgængelig, skal der udføres reverse engineering for at gøre programmet kompatibelt med det format . I de fleste eller alle lande er filformater ikke beskyttet af love om ophavsret. I nogle lande kan algoritmer, der bruges til at kode data til et format, dog være beskyttet af patenter. For eksempel brugte det udbredte GIF -format en proprietær algoritme (patenter udløb i forskellige lande i 2003-2004), hvilket førte til udviklingen af ​​et alternativt PNG-format .

Bestemmelse af filtypen

Filtypen er information til hurtigt at identificere indholdet af en fil af operativsystemet og brugeren uden at skulle læse hele indholdet af filen. Takket være disse oplysninger kender brugeren tilnærmelsesvis typen af ​​information, der er indeholdt i filen, og operativsystemet kan forbindes med et program til behandling af filer af denne type. For at kunne arbejde korrekt med filer, skal programmer kunne bestemme deres type. Af historiske årsager bruger forskellige operativsystemer forskellige tilgange til denne opgave.

Filnavnsudvidelse

Nogle operativsystemer, såsom CP/M , RT-11 , DOS og Microsoft Windows , bruger en del af en fils navn , dvs. " filtypenavn ", til at bestemme typen af ​​en fil. I ældre operativsystemer var disse tre tegn adskilt fra filnavnet med en prik (i filsystemer i FAT -familien blev navnet og udvidelsen gemt separat, prikken blev tilføjet allerede på OS -niveau ); på nyere systemer kan udvidelsen blot være en del af navnet, i hvilket tilfælde dens længde kun er begrænset af den ubrugte længde af navnet (som f.eks. kan være på 255 tegn). HTML-filer kan f.eks. have filtypenavnet ".htm" eller ".html".

Brugeren kan frit ændre filtypenavnet. Fordi mange brugerskaller bruger en udvidelse til at bestemme, hvilket program der skal åbnes en fil med, kan dette gøre filen ubrugelig eller endda "tabt", hvis brugeren glemmer den originale udvidelse. Derfor skjuler Windows Stifinder udvidelser som standard. Denne praksis har en ulempe: Da filtypen ikke er synlig, kan du narre brugeren til at tro, at for eksempel en fil med en .exe-udvidelse er et billede med en anden endelse. Samtidig kan en avanceret bruger bruge muligheden for at ændre den type, der er tildelt en fil ved blot at ændre filtypenavnet for at åbne det i et andet program uden at angive det direkte. Dette kan være nyttigt, hvis programmet ikke giver mulighed for at åbne filer med en eller anden udvidelse, og brugeren ved, at deres format er egnet til behandling i dette program.

Magiske tal

En anden metode, der er meget udbredt i UNIX -lignende operativsystemer, er at gemme i selve filen et bestemt "magisk tal" ( signatur ) - en sekvens af tegn, som filformatet kan identificeres med. Udtrykket blev oprindeligt brugt til et særligt sæt 2 - byte identifikatorer gemt i begyndelsen af ​​en fil (denne praksis er migreret til andre operativsystemer, såsom MZ i MS-DOS ), dog enhver sekvens af tegn, der er specifikke for dette format kan bruges som "magisk tal".

For at bestemme formatet på en fil, brug filkommandoen, som bruger filen /usr/share/misc/magic

$fil /bin/ls /bin/ls: ELF 32-bit LSB eksekverbar, Intel 80386, version 1 (SYSV), dynamisk linket (bruger delte libs), til GNU/Linux 2.6.18, strippet $filenotes.txt notes.txt: UTF-8 Unicode-tekst $ fil leave_2009-10-12.odt leave_2009-10-12.odt: OpenDocument Text

Linjer med såkaldte " shebangs " i script-filer er en særlig form for "magisk tal". Her er signaturen en menneskelæselig tekst, der definerer programmet – manuskriptfortolkeren.

Metadata

Nogle filsystemer tillader, at der gemmes yderligere attributter for hver fil, dvs. " metadata ". Disse metadata kan bruges til at gemme information om filtypen. Denne tilgang bruges på Apple Macintosh-computere . Metadata understøttes af moderne filsystemer såsom HPFS , NTFS , ext2 , ext3 og andre. Ulempen ved denne metode er dårlig portabilitet - når man kopierer filer mellem filsystemer af forskellige typer, kan metadata gå tabt.

MIME

Datatyperne defineret af MIME -standarden er meget brugt i forskellige netværksprotokoller , men de bruges stadig sjældent i filsystemer.

Se også

Noter

  1. Tamura Jones. Microsoft udgiver Office Binære Formater . www.tamurajones.net. Hentet 11. januar 2018. Arkiveret fra originalen 12. november 2017.
  2. Åben  specifikationsløfte . msdn.microsoft.com. Hentet 11. januar 2018. Arkiveret fra originalen 7. december 2017.
  3. ↑ Forstå Office Binære filformater  . msdn.microsoft.com. Hentet 11. januar 2018. Arkiveret fra originalen 11. juli 2017.

Links