Gibt es ein Tool für Windows (Befehlszeile, GUI, Skript usw.), mit dem ein Verzeichnis wiederhergestellt und alle als UTF-16 codierten Dateien identifiziert werden können?
Gibt es ein Tool für Windows (Befehlszeile, GUI, Skript usw.), mit dem ein Verzeichnis wiederhergestellt und alle als UTF-16 codierten Dateien identifiziert werden können?
Antworten:
Mit diesem Tool können Sie den Dateicodierungstyp anhand von Standardinformationen wie Suchmuster und Dateipfad ermitteln:
File Encoding Checker ist ein GUI-Tool, mit dem Sie die Textcodierung einer oder mehrerer Dateien überprüfen können. Das Tool kann die Codierung für alle ausgewählten Dateien oder nur für Dateien anzeigen, die nicht die von Ihnen angegebenen Codierungen aufweisen.
Ich habe es selbst nicht benutzt, deshalb solltest du es dir ansehen.
Ein langsamer Weg wäre, ein Konvertierungsprogramm zu verwenden und es für alle Dateien in einem Verzeichnis auszuführen. Diese Dateien, die erfolgreich von UTF-16 in ein anderes Format konvertiert wurden, sind höchstwahrscheinlich diejenigen, die Sie benötigen. Für diese Aufgabe können Sie ein verfügbares Tool wie den Zeichensatzkonverter auswählen .
Sie können ein solches Tool auch mit einem C ++ - Code-Snippet aus diesem Artikel schreiben. Konvertierung zwischen Unicode UTF-16 und UTF-8 in C ++ / Win32 . Das benutzerdefinierte Tool kann so optimiert werden, dass der erste Konvertierungsfehler behoben wird und der konvertierte Puffer nicht in einer Datei gespeichert wird.
Für UTF-16-Dateien mit Stückliste - PowerShell-Befehl
gci . -Include *.txt -Recurse | `
% { $c = gc $_.FullName -TotalCount 2 -Encoding Byte; `
if ( $c.Length -gt 0 -and `
(($c[0] -eq 255 -and $c[1] -eq 254) -or `
($c[0] -eq 254 -and $c[1] -eq 255)) `
) {$_.FullName} `
}
0
es ein guter Anfang , nach Dateien zu suchen, in denen jedes zweite Byte vorhanden ist .