Filhuvudet och namnförlängningen tjänar olika syften för att identifiera och hantera filer, även om de ibland kan arbeta tillsammans.
Filhuvud:
* vad det är: En filhuvud (även kallad ett magiskt nummer) är ett avsnitt av data i början av en fil. Den innehåller specifika byte som identifierar filtypen och ibland versioninformation. Detta är *data i själva filen *.
* Hur det fungerar: Program kontrollerar den här rubriken för att avgöra hur du tolkar resten av filens innehåll. Olika filtyper har olika rubriker. Till exempel har en JPEG -bild en specifik rubriksekvens som berättar ett program "Detta är en JPEG, och här är hur man avkodar den."
* Sikt: I allmänhet inte direkt synlig för användaren via operativsystemets filutforskare. Du behöver en HEX -redaktör för att se den.
* Pålitlighet: Mycket pålitlig för att bestämma filtypen, eftersom den är inbyggd i filens struktur.
Namnförlängning (filtillägg):
* vad det är: Namnförlängningen är den del av ett filnamn som kommer efter den senaste perioden (.). Till exempel i `mydocument.docx`," .docx "är tillägget. Det är *metadata associerade med filens namn *.
* Hur det fungerar: Operativsystem och applikationer använder ofta tillägg som en * tips * för att bestämma filtypen och vilket program som ska användas för att öppna det. Detta görs främst genom filassocieringsinställningar i OS.
* Sikt: Direkt synlig för användaren i filutforskare.
* Pålitlighet: Mindre pålitlig än rubriken. Användare kan enkelt byta namn på en fil och ändra tillägget utan att ändra dess faktiska innehåll. Detta kan leda till problem om tillägget inte stämmer med den faktiska filtypen. Det är möjligt att ha en fil med en .txt -tillägg som innehåller JPEG -bilddata.
kort sagt:
Filhuvudet är den definitiva identifieraren bakad i själva filens data, medan namnförlängningen är en användares synlig och mindre pålitlig etikett associerad med filnamnet. Ett program bör idealiskt kontrollera både förlängningen och rubriken för robusthet (även om rubriken är det mer kritiska). Tillägget är mer en bekväm användargränssnittsfunktion.