Import Unicode Textfile

Hallo,

ich stehe vor dem Problem ein Textfile zu importieren, welches Unicode-Zeichen wie
\u00E4 enthält.

Beim Einlesen sollen diese Zeichen automatisch in die normalen lesbaren Zeichen ("ä", "ö", ...) umgewandelt werden.

Wie kann ich das am einfachsten bewerkstelligen?
 
Funktioniert leider nicht.
Wenn ich mir die eingelesene Zeile im Debugger anschaue, steht da jetzt statt \u00E4 \\u00E4.
Auf der Konsole ausgegeben: \u00E4

Leider nix mit ä, ö, oder ü ... :)
 
S

SlaterB

Gast
auf der Konsole wird wohl nur dann \u00E4 ausgegeben wenn in der Quelle auch wirklich \, u, 0, 0, E, 4 als sechs verschiedene Zeichen stehen,
ist das so oder kannst du eine Beispieldatei hochladen?

das umzuwandeln wäre dann jedenfalls eine richtige Rechenaufgabe, fertigen Code kennn ich dafür nicht,
nach \u suchen, die 4 Zeichen danach als String herausschneiden, hexadezimal parsen, die Zahl als char interpretiert weiterreichen
 
Genau, in der Textdatei steht tatsächlich "m\u00E4hen" (soll also mähen heißen)
Wenn ich direkt im Quelltext schreibe
Java:
String s = "m\u00E4hen";
und s dann ausgebe, wird auch "mähen" ausgegeben.

Beim Einlesen der Datei wird also quasi vor dem "\u00E4" noch ein "\" gesetzt.
Wenn man jetzt nach "\\" suchen könnte und durch "\" ersetzt, vlt. funktioniert das.
 
S

SlaterB

Gast
nein das funktioniert nicht, der Compiler macht quasi das was du suchst, aber mit einer String-Ersetzung ist es nicht getan,
da muss man schon all die Einzelschritte ausführen, die ich zuvor genannt hatte, wie es der Compiler auch macht,

ganz geschickt könntest du den Text der Datei natürlich in .java-Quellcode einfügen (einmalig manuell oder per Programm für beliebige Dateien),
kompilieren und ausführen lassen und die Ausgabe von dort weiterverwenden,
aber viel viel aufwendiger als 5 Zeilen mal richtig was zu programmieren ;)
 
Zuletzt bearbeitet von einem Moderator:
da muss man schon all die Einzelschritte ausführen, die ich zuvor genannt hatte, wie es der Compiler auch macht

Aber genau die Geschichte funktioniert ja nicht:
Java:
InputStreamReader r = new InputStreamReader(new FileInputStream("test.txt"), "UTF-8");
BufferedReader br = new BufferedReader(r);
System.out.println(br.readLine());

...als 5 Zeilen mal richtig was zu programmieren ...

Sind nur 3 Zeilen :D
 
S

SlaterB

Gast
dass das nicht geht hattes du ja schon gesagt, die Erkenntnis ging danach noch weiter,

also gut, dann exakt, ich meinte dies hier:
das umzuwandeln wäre dann jedenfalls eine richtige Rechenaufgabe, fertigen Code kennn ich dafür nicht,
nach \u suchen, die 4 Zeichen danach als String herausschneiden, hexadezimal parsen, die Zahl als char interpretiert
 
Wenn man ein Properties-File einliest (welches \u00E4 und ähnliches enthält), werden die Unicode-Zeichen automatisch umgewandelt. ???:L

Ich werde also versuchen den Weg über ein Properties-File zu gehen. :rtfm:

Trotzdem danke! :toll:

P.S. Sorry, aber ich glaube nicht, dass Hansa Meister wird :noe:
 
S

SlaterB

Gast
tatsächlich, hier der Quellcode dazu, nicht ganz 5 Zeilen ;)

Java:
    /*
     * Converts encoded \uxxxx to unicode chars
     * and changes special saved chars to their original forms
     */
    private String loadConvert (char[] in, int off, int len, char[] convtBuf) {
        if (convtBuf.length < len) {
            int newLen = len * 2;
            if (newLen < 0) {
	        newLen = Integer.MAX_VALUE;
	    } 
	    convtBuf = new char[newLen];
        }
        char aChar;
        char[] out = convtBuf; 
        int outLen = 0;
        int end = off + len;

        while (off < end) {
            aChar = in[off++];
            if (aChar == '\\') {
                aChar = in[off++];   
                if(aChar == 'u') {
                    // Read the xxxx
                    int value=0;
		    for (int i=0; i<4; i++) {
		        aChar = in[off++];  
		        switch (aChar) {
		          case '0': case '1': case '2': case '3': case '4':
		          case '5': case '6': case '7': case '8': case '9':
		             value = (value << 4) + aChar - '0';
			     break;
			  case 'a': case 'b': case 'c':
                          case 'd': case 'e': case 'f':
			     value = (value << 4) + 10 + aChar - 'a';
			     break;
			  case 'A': case 'B': case 'C':
                          case 'D': case 'E': case 'F':
			     value = (value << 4) + 10 + aChar - 'A';
			     break;
			  default:
                              throw new IllegalArgumentException(
                                           "Malformed \\uxxxx encoding.");
                        }
                     }
                    out[outLen++] = (char)value;
                } else {
                    if (aChar == 't') aChar = '\t'; 
                    else if (aChar == 'r') aChar = '\r';
                    else if (aChar == 'n') aChar = '\n';
                    else if (aChar == 'f') aChar = '\f'; 
                    out[outLen++] = aChar;
                }
            } else {
	        out[outLen++] = (char)aChar;
            }
        }
        return new String (out, 0, outLen);
    }
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S nach Import von jars (PLC4x) in Eclipse kann nicht mehr compiliert werden Java Basics - Anfänger-Themen 9
S Daten aus Import Datei auslesen und sortieren Java Basics - Anfänger-Themen 2
F Import SSL Zertifikat in keystore Java Basics - Anfänger-Themen 10
M import com.sun.star.uno Java Basics - Anfänger-Themen 25
Darkherobrine9 Import klappt nicht Java Basics - Anfänger-Themen 7
T Probleme beim Import eines Git-Repos Java Basics - Anfänger-Themen 2
java-starter Erste Schritte import von package Java Basics - Anfänger-Themen 4
J The import org.bukkit cannot be resolved Java Basics - Anfänger-Themen 3
E Paketstruktur und import Klauseln Java Basics - Anfänger-Themen 14
D import Befehle Java Basics - Anfänger-Themen 3
E Unterschied zwischen new und import Java Basics - Anfänger-Themen 5
O Package import-Klausel Java Basics - Anfänger-Themen 10
O extrends vs. import Java Basics - Anfänger-Themen 14
B Import Tabelle - Struktur durch User einstellbar Java Basics - Anfänger-Themen 4
W JavaFX import Fehler/Zellularautomaten Java Basics - Anfänger-Themen 1
T Erste Schritte JAR import Fehler Java Basics - Anfänger-Themen 2
Textsurfer Erste Schritte CSV Import Reader Writer Java Basics - Anfänger-Themen 0
S BufferedReader TextFields Import Java Basics - Anfänger-Themen 5
M Best Practice Daten-Import /Trabsfomration aus Textdatei Java Basics - Anfänger-Themen 12
G import utils.SourceHandler; Java Basics - Anfänger-Themen 5
L Klasse/Variable import Java Basics - Anfänger-Themen 7
W Erste Schritte import java.util.scanner funktioniert nicht Java Basics - Anfänger-Themen 2
slejden Erste Schritte der Befehl import Java Basics - Anfänger-Themen 2
D Bitte um Hilfe bei "error: package com.apple.eawt does not exist import com.apple.eawt.*;" Java Basics - Anfänger-Themen 1
B Erste Schritte Way of life ohne import - Habe Beispiel, macht Unfug Java Basics - Anfänger-Themen 21
J BlueJ und import-Anweisungen, wie geht das? Java Basics - Anfänger-Themen 4
I DATEV import / export Java Basics - Anfänger-Themen 2
O Probleme beim import von Projekten in Eclipse Java Basics - Anfänger-Themen 7
C Java Applet Fragen: Serialisierung, Excel import Java Basics - Anfänger-Themen 2
F Import von Zip-Datei in Eclipse Java Basics - Anfänger-Themen 1
? Klassen Verständnisprobleme mit Import Anweisungen Java Basics - Anfänger-Themen 6
FINF_AW_Alex import funktioniert nicht Java Basics - Anfänger-Themen 4
A Import anderer Classen aus anderen Projekten Java Basics - Anfänger-Themen 6
B Doppelte Werte aus Array entfernen ohne Import - Algorithmus Java Basics - Anfänger-Themen 5
M import von eigener Klasse Java Basics - Anfänger-Themen 12
S import java.*; vs import java.awt.TextArea Java Basics - Anfänger-Themen 7
B ThreadPoolExecutor - import java.util.concurrent Java Basics - Anfänger-Themen 2
F import Prog1Tools.IOTools Java Basics - Anfänger-Themen 9
J Aus "import" die genutzte Library erfahren Java Basics - Anfänger-Themen 4
T Erste Schritte import java.lang.System.out Java Basics - Anfänger-Themen 4
E Erste Schritte Import von Klassen Java Basics - Anfänger-Themen 8
B Compiler-Fehler import java.io.*; führt zu error Java Basics - Anfänger-Themen 2
N Probleme mit dem Import Java Basics - Anfänger-Themen 8
J ORACLE Spatial ungültiger Spaltenindex beim Import Java Basics - Anfänger-Themen 2
V Klassen import - einfaches Umleiten auf eigene Klassen? Java Basics - Anfänger-Themen 8
D Geschwindigkeits unterschied bei import? Java Basics - Anfänger-Themen 13
C import Java Basics - Anfänger-Themen 7
O Compiler-Fehler import funktioniert nicht Java Basics - Anfänger-Themen 2
D Import von import org.apache.commons.math3...... Java Basics - Anfänger-Themen 2
J Import in Java Java Basics - Anfänger-Themen 4
A Import Anwendungen Java Basics - Anfänger-Themen 2
D Frage zu der import Anweisung in Java Java Basics - Anfänger-Themen 15
S Erste Schritte import für andere Klassenfiles verfügbar machen? (Java unter Eclipse) Java Basics - Anfänger-Themen 8
F Problem mit import Java Basics - Anfänger-Themen 8
C Umgebungsvariable import anweisung gibt fehlermeldung Java Basics - Anfänger-Themen 2
algebraiker Textdatei-Import Java Basics - Anfänger-Themen 8
T .Java Import Java Basics - Anfänger-Themen 19
N Erste Schritte import javax.media.3d....; //Fehlermeldung: cannot be resolved Java Basics - Anfänger-Themen 10
N Import Problem, Applet will nicht Java Basics - Anfänger-Themen 6
Q Classpath Package import Java Basics - Anfänger-Themen 6
J Erste Schritte import awt.* ;awt.event.*; Java Basics - Anfänger-Themen 3
B Wie funktioniert der Import von Dritt-packages in Eclipse? Java Basics - Anfänger-Themen 5
C Fehlermeldung "The import TestProjekt cannot be resolved". Warum? Java Basics - Anfänger-Themen 7
W Problem beim CSV-Import Java Basics - Anfänger-Themen 5
K Collections Problem beim import von Packages Java Basics - Anfänger-Themen 10
F Import mit .* oder nicht? Java Basics - Anfänger-Themen 3
D Frage zu Exceptions und der import Anweisung Java Basics - Anfänger-Themen 12
F Problem mit "import" Java Basics - Anfänger-Themen 9
S import - Anweisung; Setzen der Classpath Java Basics - Anfänger-Themen 2
W Wann nutze ich "import"? Java Basics - Anfänger-Themen 12
K OOP Java import zwei gleichnamiger Klassen Java Basics - Anfänger-Themen 5
M JS Import aus externer Jar Datei Java Basics - Anfänger-Themen 5
D OpenCSV Fehllender Konstruktor trotz import und Buildpath Eintrag Java Basics - Anfänger-Themen 1
M import einer Grafik aus .jar funktioniert nicht Java Basics - Anfänger-Themen 6
1 JMF Import Problem Java Basics - Anfänger-Themen 3
D import-fehlermeldung Java Basics - Anfänger-Themen 3
M java erkennt import-klassen nicht?! Java Basics - Anfänger-Themen 39
K OOP import Java Basics - Anfänger-Themen 13
B import Anweisung Java Basics - Anfänger-Themen 2
D OOP Pakete Import Java Basics - Anfänger-Themen 15
T Netbeans: Import von Externen Packet Java Basics - Anfänger-Themen 5
T Import von org.* Java Basics - Anfänger-Themen 6
E Frage zu "import" Java Basics - Anfänger-Themen 5
J Import von Paketen Java Basics - Anfänger-Themen 10
U2nt import wird nicht "angenommen" Java Basics - Anfänger-Themen 9
F import Statement für Klassen die dem default Package zugeordnet sind? Java Basics - Anfänger-Themen 2
O import ja....extends nein Java Basics - Anfänger-Themen 5
T The import In cannot be resolved Java Basics - Anfänger-Themen 31
X Befehl import Java Basics - Anfänger-Themen 21
T import java.util.scanner cannot be resolved Java Basics - Anfänger-Themen 19
G JAR ohne import in anderer JAR aufrufen Java Basics - Anfänger-Themen 3
S BITTE UM HILFE HASHTABLE/import java.util.Hashtable in Ecplipse Java Basics - Anfänger-Themen 12
E import org.eclipse.swt.Events.PaintListener; Java Basics - Anfänger-Themen 1
D Import Java Basics - Anfänger-Themen 2
C import von Java Klasse ohne package Java Basics - Anfänger-Themen 10
P import java.awt.*; nicht gefunden? Java Basics - Anfänger-Themen 21
X JOptionPane.showMessageDialog(); - Import Befehl? Java Basics - Anfänger-Themen 4
0 CSV Import - Zeilen, Spalten Java Basics - Anfänger-Themen 15
Bierhumpen import ? - bedeutung? Java Basics - Anfänger-Themen 5
P "import" org.apache.xxxxxxx Java Basics - Anfänger-Themen 18

Ähnliche Java Themen

Neue Themen


Oben