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.

Eine Liste der verfügbaren Encodings in Java findet man auf der Sun Website. Ein paar wichtige werden beim Ausführen einer jar-Datei automatisch zur Verfügung gestellt (aus der rt.jar), weitere sind in der charsets.jar verfügbar. Unter anderen ist auch die Encoding CP850, welche in der Windowskonsole Verwendung findet, im letzteren Paket. Konsolenausgaben werden nämlich nicht Standardmässig in der Encoding CP850 ausgegeben, die Zeichencodierung muss vor dem Ausgeben definiert werden. Ein kurzes Beispiel dazu findet man im Buch Java ist auch eine Insel von Galileo Computing.

Leave a Comment