Wie kennt ein Computer die Erweiterung einer Datei?

488
tristo

Nur eine seltsame Frage, wie ein Computer herausfindet, welche Datei eine bestimmte Datei ist. EG Wie stellt ein Computer fest, dass diese Seite eine Art HTML ist? von jeder Datei gibt es Header-Informationen in der Binärdatei? Ram Zuteilung? woher weiß es das?

2
Bei lokalen Dateien wird normalerweise nach "magischen" Bezeichnern am Anfang des Inhalts gesucht (oder zumindest in Richtung darauf). Wenn es das nicht findet, wird normalerweise der Name betrachtet. Für Inhalte aus dem Internet werden MIME-Typen normalerweise verwendet, um den Inhaltstyp zu identifizieren. Jerry Coffin vor 11 Jahren 3

1 Antwort auf die Frage

4
Chip

Wenn Sie von einer "Erweiterung" sprechen, ist diese im Namen der Datei enthalten.

Diese Informationen werden jedoch vom Betriebssystem verwendet, um eine bestimmte Anwendung zu starten, beispielsweise Safari / Chrome / Firefox für Dateien, die auf .html enden.

Die Anwendung verwendet dann den Header (die ersten paar Bytes) der Datei, um zu sehen, ob sie angezeigt werden kann. Es kann es auch so interpretieren, dass es Junk-Daten ausgibt. Wenn Sie beispielsweise eine Bilddatei (.jpg) mit der Erweiterung .txt umbenennen, versucht das Betriebssystem, den Standard-Texteditor (NotePad / TextEdit) zu öffnen, um sie zu öffnen. Der Editor versucht, es als Textdatei zu interpretieren und zeigt Ihnen kein Bild.

Sie haben auch "diese Seite" erwähnt. Diese Seite wird per HTTP von superuser.com an Ihren Browser übermittelt. Im HTTP-Header sollte angegeben werden, dass es sich bei den Daten um Text / HTML handelt. Der Browser interpretiert es als HTML und rendert es. Allerdings sind Browser sehr komplex und verzeihend. Selbst wenn der Header nicht sagt, was der Typ ist, wird er versuchen zu raten.