Felix: Encoding.. ein Zweites Mal, sorry.

Guten Morgen, ich hatte das Problem ja gestern schon gepostet. Leider habe ich immernoch keine Lösung gefunden. Vielleicht kann ich es die Problematik heute besser beschreiben, denn eigentlich finde ich die Frage gar nicht so exotisch und kann mir nicht vorstellen, dass es so kompliziert ist.
Ich habe in einer Textdatei codierten Unicode Das sieht dann etwa so aus:
\374
\366
\344

Diese Textdatei will ich Zeile für Zeile einlesen. Und dann soll die Ausgabe die Zeichen interpretiert ausgeben. In diesem Fall die drei umlaute. Mein Programm sieht im Moment so aus:

String line="";
try
{
 FileInputStream file_in =new FileInputStream("test.txt");
 BufferedReader in=new BufferedReader(new InputStreamReader(file_in, "UTF8"));
 line = in.readLine();
   in.close();
 }
 catch (IOException e)
 {
  System.out.println(e);
 }
 JTextArea huhu2  = new JTextArea(line);
 add(huhu2);
 System.out.println(line);

Die Ausgabe ist in beiden Fällen mit dem Inhalt identisch, wie kann ich eine nachträgliche Codierung erreichen, die eine korrekte Darstellung ermöglicht?

Vielen Dank
Felix

  1. Hi Felix,

    Du kannst in Java ein char als Unicode Sequenz angeben:

    char Buchstabe = '\u005A'

    Das wäre ein Z. Um jetzt Deine Sequenzen im Text automatisch umzuwandeln müsstes Du wohl erstmal die Sequenz isolieren (mit Stringfunktionen oder regulären Ausdrücken), und dann nach diesem Schema in Char umwandeln. Die Chars kriegst du dann auch wieder in einen String, das sollte kein Problem sein.

    Gruss

    Marko

    P.S.: Ist die einzige Lösung, die mir spontan einfällt, vielleicht gibt es auch elegantere...