ich versuche grade Dateien ohne Rücksicht auf deren Endung auszulesen. Dabei will ich jedoch eine Art "Vorfilter" einbauen, so dass überprüft wird, ob die Datei wirklichen eine Textdatei ist und somit "lesbaren" Text enthält oder ob es sich um eine Datei handelt, welche nicht für das Auslesen geeignet ist, wie z.B. .mp3 -> wenn man solch eine Datei ausließt bekommt man nur kryptischen Text.
Vereinfacht gesagt bin ich auf der Suche nach Textdateien unabhängig von Ihrer Endung. Wie also kann ich die Dateien auf kryptischen oder normalen Text überprüfen?
Ich hoffe auf Antworten :)
100%ig sicher kann man das nicht unterscheiden. Man kann nur bestimmte Kriterien heranziehen und dann eine Wahrscheinlichkeitsaussage treffen bzw. nur aufgrund eines Schwellwerts für die Wahrscheinlichkeit entscheiden.
Insbesondere das Kriterium wieviele Null-Bytes in der Datei enthalten sind, wurde seit der Einführung von (16-bit-)Unicode stark relativiert, da diese jetzt auch in Text-Dateien häufig vorkommen können.
Bestimmte Dateitypen beginnen mit bestimmten Zeichen- oder Bytefolgen (Bitmaps z.B. BM, normale EXE mit MZ). In (Unicode)Text-Dateien gibt es manchmal ein BOM. Aber auch das sind alles nur Indizien.
Aber wie Nitro2k7 indirekt zum Ausdruck gebracht hat: Das Thema wurde im Netz häufig besprochen. Eigentlich müssen wir das nicht erneut durchkauen. Wäre nett, wenn du die besten Treffer hier postest.