Hallo.
Als Anregung hier vielleicht noch eine leicht zu implementierende Idee:
Das Typische einer Textdatei ist, dass sie Text enthält. Was also ist Text? Man könnte Text so definieren, dass er vorrangig Buchstaben (und Satzzeichen usw.) enthält. Und "vorrangig" könnte man so definieren, dass ein vorrangiger Teil einen Prozentsatz X des gesamten Inhalts ausmacht, bspw. > 70%.
Nach diesem Verfahren kannst du mehrere
Zeichenmengen definieren und ihre die Anteile in der Datei berechnen. Et voilà, du hast deine Grundlage deine Kriterien auf eine Textdatei (besser: textbasierte Datei) anzuwenden.
Verbesserungsansätze könnten sein:
- Berechnung nur auf Dateiteile anwenden und das als repräsentativ für die gesamte Datei ansehen; z.B. nach 100KB, 10% Dateigröße, 50KB am Anfang (und Mitte) und Ende... aufhören zu berechnen
- K.O.-Kriterien einführen: Anteil der Zeichenmenge <= 0%; bspw. das Vorkommen von Zeichen < #32
Der Ansatz hat sicher keinen Anspruch auf Vollständigkeit. Du könntest das bis zur Syntaxanalyse ausbauen...
Dann könnstest du zumindest für bekannte Formte sicher sein. Aber ich glaube das führt jetzt doch ein bisschen weit...
Gruß,
Panthrax.