Monthly Archives: November 2006

Characterencoding mit Java

Characterumkonvertierung kann relativ einfach mit Java angegangen werden. Java hat den Vorteil dass die Zeichen eines Strings standardmässig in Unicode codiert sind. Es können also sozusagen alle gebräuchliche Zeichen gespeichert werden.

Beim Instanzieren eines neuen Objekts vom Typ InputStreamReader oder/und OutputStreamWriter ist es möglich eine Characterencoding anzugeben. Die Encoding kann auf mehrere Arten übergeben werden: Als Encoding-Objekt oder der Name der Encoding als String. Dieses Beispiel aus dem O’Reilly Buch Java in a Nutshell zeigt wie einfach es ist eine Konsolenapplikation in Java zu schreiben welche Dateien zwischen beliebigen Encodings konvertiert. Read more »

Characterencoding: Dateikonvertierung unter Windows

Schon mehrmals bin ich auf das Problem gestossen, das irgendwelche Dateien nicht die korrekte Charakterencoding besitzen. Zum Beispiel wenn ich eine Batch Datei auf einem Windows System schreibe oder ein Konsolenprogramm (Windows) irgendwelche Dateien einliest: Die Windows Console benutzt die von DOS her bekannte Characterencoding CP850. Windows hingegeben benuzt CP1252. Diese beiden Zeichensätze haben die in der deutschen Sprache wichtigen Umlaute wie ä, ö oder ü an verschiedenen Positionen. Ein Batch welcher auf einen Ordner mit Umlauten zugreift, funktioniert somit nicht, wenn dieser in einem Windows Editor wie Notepad geschrieben wird. Da DOS das Zeichen ü (Windows Zeichensatz Hexadezimal FC) als hochgestellte 3 intepretiert (³, im DOS Zeichensatz an der Position FC) kann auf den gewünschten Ordner oder die gewünschte Datei nicht zugegriffen werden (“Das System kann die angegebene Datei nicht finden.”). Read more »