ASCII in UniCode umwandeln?

Status
Nicht offen für weitere Antworten.

Daniel_L

Bekanntes Mitglied
Hallo,

ich hab hier mal gesucht, aber auch bei Google, und habe auch etwas gefunden zum Thema, aber offensichtlich nicht das richtige, oder ich war zu blöd es umzusetzen.

Ich habe eine Datei, die unter Windows im ASCII-Format gespeichert wurde. Diese möchte ich nun in Java (Mac) einlesen und ins Unicode konvertieren. Ich verwende dazu einen FileReader:


Code:
buffer = new StringBuffer("");                        
fr = new FileReader(filepath);
int c;

while ((c=fr.read()) != -1) {                            
  if(c!=0) {
    char chr = (char)c;
    buffer.append(chr);
  }
}

kann mir vll. jemand auf die Sprünge helfen, wie ich diese ascii-datei in unicode umwandel? Hatte schonmal dies hier und auch sowas hier angeguckt, aber irgendwie konnte ich das nicht umsetzen.

Vielen Dank und Griß
Daniel
 

Wildcard

Top Contributor
reines ASCII ist erstmal kein Problem. Ich vermute du hast Umlaute verwendet und in cp1252 kodiert?
 

Daniel_L

Bekanntes Mitglied
ich habe unter windows c++ ein programm geschrieben, das die texteingaben (aus einer RichTextBox) als einfachen ASCII-String speichert. d.h. in der datei hat ein "ä" bspw. den zahlenwert 228 usw.

kodiert habe ich gar nichts, sondern den string einfach per "<<" in eine datei geschrieben, also ohne jegliche kodierung anzugeben.
 

Wildcard

Top Contributor
Dann hast du mit cp1252 kodiert. Es handelt sich um ein reines Windows Encoding und ich bin nicht sicher, ob Mac Java es überhaupt unterstützt.
Falls ja, dann geht es so:
Du erstellst einen InputStreamReader mit dem Encoding "Cp1252" und liest damit.
 

Daniel_L

Bekanntes Mitglied
Vielen Dank, das probier ich mal aus. Hier noch kurz zwei Beispiele, wie die Wörter dann in Java "ankommen":

Illegalit‚Ä∞t (Illegalität)
f¬∏r (für)
 

Wildcard

Top Contributor
Ich würde dir empfehlen Text jeglicher Art auf allen Plattformen nur noch als Unicode zu speichern. Alles andere führt nur zu Problemen.
 

Daniel_L

Bekanntes Mitglied
Genau das war für mich auch ein Grund, auf Java umzusteigen. :) Einmal Programme zu haben, die auf mehreren Plattformen laufen, zum anderen der einfache Umgang mit Unicode (und mit diesem Zeichenformat eben auch die Möglichkeit, verschiedenste Schriftzeichen/Sprachen verwenden zu können).

Ich werde das morgen mal ausprobieren, sollte eigentlich nicht allzu schwer sein. Vielen Dank noch mal!
 

HoaX

Top Contributor
auch mit java kannst du dir da in den Fuß schießen. z.B. mit dem FileReader/Writer. Der verwendet das Standardencoding des OS wodurch die ausgabe auf unterschiedlichen Systemen/Benutzeraccounts unterschiedlich sein kann
 

Daniel_L

Bekanntes Mitglied
Ich verwende den FileReader nur einmal zum Einlesen. Dann konvertiere ich die "alte" Datenstruktur um in XML und lese/schreibe mit JDOM resp. SaxBuilder. Ich hoffe, dass da das Encoding nichts ausmacht bzw. nicht relevant ist?
 

Leroy42

Top Contributor
Daniel_L hat gesagt.:
Ich hoffe, dass da das Encoding nichts ausmacht bzw. nicht relevant ist?

Doch! Wenn der String Umlaute enthält ist das Encoding ausschlaggebend.

ASCII-Code ist nur im Bereich [0..127] definiert und jedes System speichert Umlaute in
ASCII-Dateien anhand von Encodings.
 

Daniel_L

Bekanntes Mitglied
So, eigentlich macht Codepage 1252 ja Sinn, wie ich auch aus Wikipedia erfahren habe, aber korrekt wird die Datei immer noch nicht eingelesen. Nun sind Umlaute immer durch ein Häkchen plus kryptisches Zusatzzeichen ersetzt, z.B.:

für

Hier mal der Source-Code:
Code:
            buffer = new StringBuffer("");                        
            InputStream is = new FileInputStream(filepath);
            InputStreamReader ips = new InputStreamReader(is,"cp1252");
            
                        while ((c=ips.read()) != -1) {                            
                                char chr = (char)c;
                                buffer.append(chr);
                        }

Wenn ich die Datei mit Smultron öffne, zeigt der als Kodierung "Westeuropäisch, ISO Latin-1" an. Wie würde dieser Parameter denn heißen, wenn ich ihn im Konstruktor des InputStreamReaders verwenden möchte?
 

Daniel_L

Bekanntes Mitglied
Gut, mein Fehler. cp1252 ist die richtige Kodierung, aber ich hab mir das Ergebnis nur im Log angeguckt (über XMLoutputter output(xml-file,system.out). Nun habe ich mir das Ergebnis mittels outputString in einen JEditorPane schreiben lassen, und alles sieht perfekt aus! Vielen Dank für eure Hilfen!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Unicode zu ASCII konvertieren Allgemeine Java-Themen 5
G Übermittlung zusätzlicher ASCII-Zeichen bei Übertragung von Dateiinhalt mit Xmodem - JAVA Allgemeine Java-Themen 9
R Datentypen Korrekte integer in Hex ASCII Konvertierung und serialisierung Allgemeine Java-Themen 1
B Hilfe!! spiel um Funktion des Selektierens erweitern (mit ASCII-Tabelle) Allgemeine Java-Themen 3
C ASCII-Code in Java Allgemeine Java-Themen 1
B ASCII als 8-bit Binärstring darstellen Allgemeine Java-Themen 5
C BigInteger nach ASCII Code in String Allgemeine Java-Themen 11
cedi int Zahl in ein ASCII zeichen umwandeln und dieses in ein externes Textfenster schreiben Allgemeine Java-Themen 6
C Datei als ASCII text einlesen ? Allgemeine Java-Themen 16
D Datei mit allen Ascii Zeichen Allgemeine Java-Themen 2
P Ascii Bild aus einem input file nur kommt nix im outputfile an?????? Allgemeine Java-Themen 5
F Hexcode von ASCII Zeichen erhalten Allgemeine Java-Themen 2
dru Graph aus Ascii Daten erstellen Allgemeine Java-Themen 2
S Hexzahl in ASCII umwandeln Allgemeine Java-Themen 3
R Auslesen von File - ASCII und Binärzeichen Allgemeine Java-Themen 13
D Datei im DOS/ASCII-Format einlesen. Allgemeine Java-Themen 9
K Datei als HEX oder dezimal gem. ASCII einlesen Allgemeine Java-Themen 4
S String auf ASCII Kodierung überprüfen? Allgemeine Java-Themen 4
E Alarm ausgeben (ASCII Zeichen 7) über Lautsprecher Allgemeine Java-Themen 11
I Nochmal ASCII-Code Allgemeine Java-Themen 9
I ASCII Code in Java Allgemeine Java-Themen 3
B ASCII-Gui Bibliothek Allgemeine Java-Themen 2
M ASCII85 to ASCII Allgemeine Java-Themen 4
S int nach Ascii konvertieren Allgemeine Java-Themen 2
U ASCII ZEichenkette wird net richtig ausgegeben Allgemeine Java-Themen 2
M Problem mit bestimmten ASCII Codes Allgemeine Java-Themen 3
I Suche Methode: Buchstaben in ASCII umwandelt Allgemeine Java-Themen 2
R ascii-wert zuweisung Allgemeine Java-Themen 4
J String in ASCII werte umwandeln Allgemeine Java-Themen 7
T ASCII decodieren Allgemeine Java-Themen 4
_user_q JavaFX Robot alle Unicode-Zeichen schreiben lassen können Allgemeine Java-Themen 12
J Unicode Darstellung mit 5 chars Allgemeine Java-Themen 9
E Compiler-Fehler Unicode Zeichen einlesen Allgemeine Java-Themen 1
L UTF8 to Unicode Allgemeine Java-Themen 9
mrBrown Unicode-WhiteSpaces aus String entfernen Allgemeine Java-Themen 14
S Input/Output Unicode Umwandlung Allgemeine Java-Themen 2
H Unicode ausgeben ohne Umwandlung - geht das? Allgemeine Java-Themen 3
L Problem bei ausführbarer jar Datei mit Unicode-Zeichen Allgemeine Java-Themen 4
J Unicode als String Allgemeine Java-Themen 6
R kopieren von Dateien und Verzeichnissen - UNICODE? Allgemeine Java-Themen 4
P JavaDoc und Backslashes: "Invalid unicode" Allgemeine Java-Themen 3
H Exponenten mit UNICODE Allgemeine Java-Themen 4
N Encoding Unicode Textfile Allgemeine Java-Themen 5
M Unicode 06 (Arabic) Allgemeine Java-Themen 5
P Unicode-Sequenz (u1234) in Variable speichern und ausgeben Allgemeine Java-Themen 6
P Unicode-Problem: Griechische Buchstaben Allgemeine Java-Themen 11
J Unicode: cmd parameter (main args); exec params; filenames Allgemeine Java-Themen 2
Luma Unicode Steuerzeichen von druckbaren Zeichen trennen Allgemeine Java-Themen 10
L unicode-zeichen in ein txt-File schreiben Allgemeine Java-Themen 3
L unicode Allgemeine Java-Themen 5
oliver1974 Wie ResourceBundles mit Unicode Zeichen korrekt einlesen? Allgemeine Java-Themen 4
I Eignung eines Zeichensatzes zur Kodierung eines Unicode-Str. Allgemeine Java-Themen 3
D Zeilenweises auslesen aus einer Unicode CSV-Datei Allgemeine Java-Themen 7
U unicode oder was? Allgemeine Java-Themen 14
R Abwärtskompatibilität des Unicode Allgemeine Java-Themen 2
R Unicode (Kyrillisch) Allgemeine Java-Themen 15
byte Unicode Sonderzeichen Allgemeine Java-Themen 2
B Unicode für Kreuz gesucht Allgemeine Java-Themen 2
H Unicode Darstellung in Java, spezielles Zeichen gesucht Allgemeine Java-Themen 4
S Unicode-Zeichen erstellen/ Kodierung Allgemeine Java-Themen 4
G Unicode file auslesen Allgemeine Java-Themen 11
C Unicode für Promille-Zeichen Allgemeine Java-Themen 5
U Unicode char kyrillisch Allgemeine Java-Themen 10
G Unicode eines Zeichens ermitteln Allgemeine Java-Themen 5
JAnruVA Datentypen Berechneten String-Wert in Double umwandeln um weiter zu rechnen Allgemeine Java-Themen 7
A verschachtelte for-Schleife in einen Stream umwandeln? Allgemeine Java-Themen 4
N Gierigen Regex in nicht-gierigen umwandeln Allgemeine Java-Themen 4
T Problem beim Umwandeln in eine Jar-Datei Allgemeine Java-Themen 3
N Regulären Ausdruck in normalen Java-Code umwandeln Allgemeine Java-Themen 12
K HTMLEditor HTML Text in Rich Text umwandeln Allgemeine Java-Themen 14
M Rechner dez in Hex umwandeln Allgemeine Java-Themen 5
L ArrayList mit String Arrays in ein Array umwandeln Allgemeine Java-Themen 1
V Datentypen Graphikrechner 2/Strings und Variablen in Doubles umwandeln Allgemeine Java-Themen 6
H Stream in ArrayList umwandeln Allgemeine Java-Themen 2
J Objekt in Bytestream umwandeln Allgemeine Java-Themen 12
B Long in einen Double umwandeln und im Label anzeigen Allgemeine Java-Themen 7
C String in Objektnamen umwandeln Allgemeine Java-Themen 3
E String in Zahl umwandeln, ohne Befehl Integer.parseInt Allgemeine Java-Themen 3
V Eingegeben String Splitten und in Integer umwandeln Allgemeine Java-Themen 2
RalleYTN Unsigned int in signed int umwandeln Allgemeine Java-Themen 8
G GUI-basiertes Java-Program in Command-line Version umwandeln Allgemeine Java-Themen 1
J .jar in .exe Umwandeln Allgemeine Java-Themen 18
JavaWolf165 JsonObject in HashMap umwandeln Allgemeine Java-Themen 16
J Umwandeln von URL zu File und danach kopieren geht nicht Allgemeine Java-Themen 1
L Methoden "Schiffe versenken" Quellcode in Methoden umwandeln Allgemeine Java-Themen 6
P Liste zu Objekt umwandeln Allgemeine Java-Themen 4
T Geographische in UTM Koordinaten umwandeln Allgemeine Java-Themen 5
JG12111989 char-Array in int-Array umwandeln Allgemeine Java-Themen 27
D Library/Framework zum Umwandeln von Sound in Notenbilder Allgemeine Java-Themen 1
D AWT Tiff-Datei darstellen bzw in darstellbares Format umwandeln Allgemeine Java-Themen 2
K Applet in JApplet umwandeln Allgemeine Java-Themen 5
N Zahlensysteme umrechnen; Probleme beim Umwandeln Allgemeine Java-Themen 4
M Datum umwandeln. Allgemeine Java-Themen 1
J Daten aus GUI auslesen und in Objekte umwandeln Allgemeine Java-Themen 6
P OpenCV mit Java - Bilder in Graustufenbilder umwandeln Allgemeine Java-Themen 2
B Transferable in String/Integer umwandeln Allgemeine Java-Themen 11
J Datentypen String in Float umwandeln und "umbauen"? Allgemeine Java-Themen 5
T Datei Ordner in Binär-Zahlenkette umwandeln Allgemeine Java-Themen 11
B Binaräres Format in Dezimalformat umwandeln u. dabei die Zwischenschritte ausgeben Allgemeine Java-Themen 3
J String-Typ in einen generischen Typ T umwandeln Allgemeine Java-Themen 6

Ähnliche Java Themen


Oben