Wie finde ich Dateien mit vorgegebener Zeichenkodierung?

10

Ich benutze Windows XP. Ich suche nach einem Tool, das für ein bestimmtes Verzeichnis alle Dateien mit einer bestimmten Zeichenkodierung findet (wie UTF-8). Kennen Sie ein solches Werkzeug?

Dawid Ohia
quelle
3
Es gibt überhaupt keine absolut zuverlässige Möglichkeit, die Codierung einer Datei zu erkennen.
Ignacio Vazquez-Abrams

Antworten:

4

Im Allgemeinen ist dies nicht möglich - abgesehen vom Sonderfall von UTF-8-Textdateien mit einem Byte Order Mark. Da der Name der Codierung nicht in der Textdatei gespeichert ist, besteht die einzige Möglichkeit, beispielsweise CP437 von CP850 zu unterscheiden, darin, auf der Grundlage einer statistischen Analyse der gesamten Datei eine Vermutung anzustellen und die Häufigkeit bestimmter Zeichenpaare usw. zu untersuchen.

Solaris-Benutzer haben auto_ef, aber meines Wissens gibt es keinen Windows-Port.

Perl-Benutzer haben Encode :: Guess

Laut Wikipedia "Die neueren Versionen des Befehls unix File versuchen, die Zeichenkodierung grundlegend zu erkennen (auch auf Cygwin und Mac verfügbar)."

Keiner der oben genannten Punkte ist 100% zuverlässig. Wenn Ihre Dateien definitiv alle in einer von wenigen bekannten Codierungen enthalten sind, können Sie dies möglicherweise besser machen.

RedGrittyBrick
quelle