Input/Output Encoding ISO->UTF8

BenitoJuarez

Neues Mitglied
Hallo zusammen,

ich habe ein kleines Encodingproblem: Der Text in der Datei iso.txt ist (vermutlich) iso-8859-1 kodiert. Diesen möchte ich in eine UTF-Datei überführen. Knackpunkt dabei ist der Bindestrich (Bytewert 150). Das Ergebnis meiner Versuche ist in utf_java.txt zu besichtigen, wie man sieht wird der Bindestrich vermurkst. Ganz generell muss es aber funktionieren, mit einem Online-Konverter habe ich ein korrektes Ergebnis erzielt (utf_online.txt), da musste ich aber als Quellzeichensatz windows-1252 eingeben.

Mein Code:

Java:
        PrintWriter out = new PrintWriter ( "c:\\utf_java.txt", "UTF-8" ) ;
      
        FileInputStream byteStream = new FileInputStream("c:\\Inkonsistenzen\\iso.txt");
      
        InputStreamReader  characterStream = new InputStreamReader(byteStream, "ISO-8859-1");
      
        int c;
       while ((c = characterStream.read()) != -1)
       {
          out.print((char)c);
       }
      
       out.flush();
       out.close();
      
       characterStream.close();
Hat jemand eine Idee wie mans besser macht?
 

Anhänge

  • iso.txt
    40 Bytes · Aufrufe: 5
  • utf_online.txt
    42 Bytes · Aufrufe: 4
  • utf_java.txt
    41 Bytes · Aufrufe: 5
Zuletzt bearbeitet von einem Moderator:

RalleYTN

Bekanntes Mitglied
Java:
try(BufferedReader reader = new BufferedReader(new FileReader(new File("iso.txt")));
    BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File("utf.txt")), StandardCharsets.UTF_8))) {
    String line = null;

    while((line = reader.readLine()) != null) {
        writer.write(line);
        writer.write('\n'); // Zeilenumbruch
    }
}

Ist jetzt einfach mal ungetesteter Code der funktionieren SOLLTE.
Der FileReader sollte eigentlich automatisch alles was Encoding beim Lesen betrifft machen.
Beim Schreiben wird dann explizit das Encoding angegeben.
 

Enceladus271

Bekanntes Mitglied
Der FileReader sollte eigentlich automatisch alles was Encoding beim Lesen betrifft machen.
Woher sollte der FileReader denn automatisch wissen welches Encoding benutzt wurde? Es gibt in Textdateien keinen Header oder ähnliches in dem das verwendete Encoding steht (außer evtl. bei UTF-8 oder UTF-16 das BOM). Der FileReader verwendet immer das Default Encoding der VM.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S String Encoding Verständnisproblem Allgemeine Java-Themen 22
X Encoding in Tomcat Allgemeine Java-Themen 2
Thallius Merkwürdiges StringBuilder verhalten (Char Encoding) Allgemeine Java-Themen 6
M Verschlüsselung von Text und Files durch RSA (Encoding Problem) Allgemeine Java-Themen 7
S Falsches Encoding bei Drag and Drop von Umlauten Allgemeine Java-Themen 16
M Datei wird nicht vollständig geschrieben (FileOutputStream, OutputStreamWriter, Encoding) Allgemeine Java-Themen 6
C Encoding Problem Windows Allgemeine Java-Themen 9
R Encoding FileWriter Allgemeine Java-Themen 1
C Encoding problem Allgemeine Java-Themen 22
C BASE64 encoding von Binärdaten Allgemeine Java-Themen 4
M Charset Encoding für Dateinamen Allgemeine Java-Themen 4
I Encoding Problem bei exec und Windows Allgemeine Java-Themen 2
S Encoding-Problem (?) Allgemeine Java-Themen 5
lumo encoding einer text-datei Allgemeine Java-Themen 2
Y CSV Encoding Problem Allgemeine Java-Themen 6
A bufferedReader readline, encoding Allgemeine Java-Themen 5
N Encoding Unicode Textfile Allgemeine Java-Themen 5
S File encoding feststellen Allgemeine Java-Themen 4
S Bestes Text file encoding..? Allgemeine Java-Themen 36
P Textfiles laden - egal welches Encoding Allgemeine Java-Themen 9
J Encoding und Gewinnung von Zeichen aus der Hexa-Darstellung Allgemeine Java-Themen 6
P Textfile Encoding herausfinden Allgemeine Java-Themen 2
P Encoding-Probleme bei Properties-Dateien Allgemeine Java-Themen 5
R Encoding Allgemeine Java-Themen 10
B platform's default character encoding? Allgemeine Java-Themen 10
N Mal wieder char-encoding Probleme Allgemeine Java-Themen 5
M Problem mit Base64 Encoding Allgemeine Java-Themen 2
M Encoding automatisch erkennen Allgemeine Java-Themen 4
M Standart Encoding des OS ermiteln Allgemeine Java-Themen 4
S [Base64] Encoding von String nicht korrekt Allgemeine Java-Themen 5
byte String Encoding Allgemeine Java-Themen 9
S File Encoding im Programm setzen? Allgemeine Java-Themen 3

Ähnliche Java Themen

Neue Themen


Oben