Batch Konverter für Big5 Textdateien nach UTF8 oder Unicode

hier bitte nur *nach* Benutzen der Boardsuche (siehe oben) posten

Moderatoren: Jean, |Gordon|, Moderatoren

Antworten
Benutzeravatar
X-Byte
Mitglied
Beiträge: 52
Registriert: 04.02.04, 16:20

Batch Konverter für Big5 Textdateien nach UTF8 oder Unicode

Beitrag von X-Byte » 10.04.11, 22:06

Ich bin auf der Suche nach einem Programm (GUI oder Kommandozeilentool), dem ich eine Liste von Textdateien vorwerfen kann, welche Text im Zeichensatz Big5 (Traditionelles Chinesisch) enthalten.
Als Ergebnis wünsche ich mir selbige Dateien, idealerweise am selben Ort der Originaldatei (die Originaldateien können auch überschrieben werden) in der Kodierung nach Unicode oder UTF8.
Wenn eine einzelne Textdatei und Konvertierungoptionen als Parameter übergeben werden können, würde mir das auch genügen, dann bastel ich mir eine Batchdatei.

Meine bisherige Suche hat zu ein paar wenigen Programmen geführt, deren Hersteller aber bares dafür sehen wollen. Es existieren sogar Online-Tools, die eine Konvertierung übernehmen, leider aber immer nur für eine einzelne Datei.

Textpad++ kann prinzipiell auch eine Big5->UTF8 Konvertierung, aber nicht per Makroaufzeichnung und auch nicht für mehrere Dateien.

Bevor ich mir jetzt was in Autohotkey zusammenfrickel, frag ich aber lieber hier noch Mal nach :-)

EchtAtze
Beiträge: 262
Registriert: 27.02.03, 11:33

Re: Batch Konverter für Big5 Textdateien nach UTF8 oder Unicode

Beitrag von EchtAtze » 10.04.11, 22:58

Probier' mal diese EXE:
http://rapidshare.com/files/456818720/BIG5ToUTF8.zip
Ist eine in C# (.NET Framework 2.0) von mir auf die Schnelle Quick and Dirty ohne Fehlerbehandlung erstellte Kommandozeilen-Exe.
Sie benötigt genau zwei Eingabeparameter:
Eingabedatei und Ausgabedatei. Jeweils kompletter Pfad. Sind Blanks im Pfad/Namen enthalten, müssen Gänsefüschen drumherum (können natürlich auch generell angegeben werden).
Beispiel:
BIG5ToUTF8.exe "Input File.txt" "Output File.txt"

Gruß,
Atze


Benutzeravatar
X-Byte
Mitglied
Beiträge: 52
Registriert: 04.02.04, 16:20

Re: Batch Konverter für Big5 Textdateien nach UTF8 oder Unicode

Beitrag von X-Byte » 12.04.11, 0:22

Vielen Dank Atze für Deinen Einsatz und auch an Jean, der sich hier als besseres Trüffelschwein erwiesen hat.
Alle Tools funktionieren, leider hab ich mir mit der batch-Datei dann aber selbst ein Bein gestellt, da die Pfadangaben zu den einzelnen Dateien chinesische Zeichen enthalten.
Wenn ich die Batch-Datei im UTF-8 Format speichere, erscheinen beim Aufruf nur Hyroglyphen an Stelle der chinesische Pfade. Bei Unicode(UTF-16) scheitert der Batchaufruf schon am BOM.
Ich denke ich werde schauen, ob ich den ahk-script so umschreiben kann, dass er einfach rekursiv durch alle Unterverzeichnisse iteriert und an Hand der Extension alle zutreffenden Dateien konvertiert. Oder vielleicht krame ich noch mal meine Perl-Kenntnisse aus dem Studium heraus und probiers damit.

Danke nochmals für eure Unterstützung, ich denke ab hier wird das ganze dann doch zu individuell um noch essentiell für andere zu sein ;)

EchtAtze
Beiträge: 262
Registriert: 27.02.03, 11:33

Re: Batch Konverter für Big5 Textdateien nach UTF8 oder Unicode

Beitrag von EchtAtze » 12.04.11, 7:51

Du darfst die Batch Datei nicht im Unicode bzw. UFT-8 Format speichern, das kann der Interpreter wohl nicht.

Aber:
In der Batchdatei selber scheinst du ja die Dateien mittels eines DIR-Befehls zu ermitteln, richtig?
Probier doch mal den Parameter "/X" aus.
Der listet die Dateien in ihrer Kurzform auf.
Meines Wissens nach dann auch in einer Form, wie sie Batchdateien verarbeiten können!

Gruß,
Atze

JFierce7
Mitglied
Beiträge: 761
Registriert: 09.12.04, 15:40

Re: Batch Konverter für Big5 Textdateien nach UTF8 oder Unicode

Beitrag von JFierce7 » 12.04.11, 9:28

Hmmm - einmal nach "batch convert big5 utf8" gegooglet liefert doch viele, auch kostenlose, Alternativen. Welche hast Du denn schon probiert?


Benutzeravatar
X-Byte
Mitglied
Beiträge: 52
Registriert: 04.02.04, 16:20

Re: Batch Konverter für Big5 Textdateien nach UTF8 oder Unicode

Beitrag von X-Byte » 12.04.11, 22:09

@JFierce7
Das war natürlich auch mein erster Ansatz, allerdings waren fast alle Suchergebnisse entweder Spam oder eine sinnlose Sammlung von Websuchen. Die wenigen brauchbaren Ergebnisse funktionierte entweder überhaupt nicht oder war eben doch keine Batchverarbeitung.

@Jean
Danke, der Thread betrifft Problematiken beim Umbenennen von Big5 Dateien, die Dateinamen können in meinem Fall ruhig so bleiben wie sie sind.

EchtAtze
Beiträge: 262
Registriert: 27.02.03, 11:33

Re: Batch Konverter für Big5 Textdateien nach UTF8 oder Unicode

Beitrag von EchtAtze » 13.04.11, 19:09

Anbei noch der C#-Quellcode von meinem Tool, damit ich es von der Platte löschen kann (falls es jemand brauchen kann):

Code: Alles auswählen

class Program
{
    static void Main(string[] args)
    {
        if (args.Length != 2)
        {
            Console.WriteLine("Need exact two filenames.");
            Console.ReadKey();
            return;
        }

        string inputFile = args[0];
        string outputFile = args[1];

        Console.WriteLine(inputFile);
        Console.WriteLine(outputFile);

        byte[] big5bytes = null;
        
        FileStream fs = new FileStream(inputFile, FileMode.Open);
        big5bytes = new byte[fs.Length];
        fs.Read(big5bytes, 0, (int)fs.Length);
        fs.Close();

        byte[] utf8Bytes = Encoding.Convert(Encoding.GetEncoding("BIG5"), Encoding.UTF8, big5bytes);

        fs = new FileStream(outputFile, FileMode.Create);
        fs.Write(utf8Bytes, 0, utf8Bytes.Length);
        fs.Close();
    }
}
Gruß,
Atze

Benutzeravatar
korinor
Mitglied
Beiträge: 258
Registriert: 28.10.04, 13:24

Re: Batch Konverter für Big5 Textdateien nach UTF8 oder Unicode

Beitrag von korinor » 14.04.11, 13:12

iconv?

Code: Alles auswählen

# Konvertierung von big-5 nach utf-8
$ iconv -f big-5 -t utf-8 inputfile > outputfile
Wenn DAS die Lösung ist, dann hätte ich gerne mein Problem zurück.
Öfter mal Richtung Linux schielen...

Antworten