int. (utf8) zurück in zeichen verwandeln

Status
Nicht offen für weitere Antworten.

H2SO3-

Bekanntes Mitglied
hi,

wenn ich mithilfe eines BufferedReader eine datei auslese, bekomme ich ja die einzelnen zeichen als integer zurück. Ich schätze mal nach utf8 code (auch wenn ich nicht ganz sicher bin)

Wie kann ich diese integer wieder in verwertbare zeichen zurückverwandeln?
Ich weiß das es andere möglichkeiten gibt die datei auszulesen. Brauche jedoch diese funktion.

Hoffe jemand kennt eine möglichkeit.
 
Code:
int i = 'C'; // als beispiel für den eingelesenen buchstaben
char c = (char)i;
 
Es handelt sich übrigens nicht um UTF-8, sondern um UTF-16.

Ein char repräsentiert ein UTF-16 Code Unit.

Damit lässt sich jedes Unicode-Zeichen (Code Point) mit max. 2 chars darstellen.
 
:-(((((((((((((((((((((((((((((((((((((((((((((((((

warum sollte es denn auch soooooooooooooooooooooooooo einfach sein

habe gedacht ich brauche ne richtige umwandlung. SUPPPPER

vielen dank
 
Du musst aber noch auf die Kodierung der Datei aufpassen, die du lesen willst. Falls diese eine andere ist als die default encoding (diese kannst du über die Methode feststellen: java.nio.charset.Charset.defaultCharset()), dann musst du das beim Erzeugen des InputStreamReaders angeben. Solltest du machen, falls du die Datei nicht während des Programmablaufs selbst erzeugt hast.

Bei mir z.B. ist default charset: windows-1252. Wenn ich jetzt eine UTF-8-Datei einlesen will, muss ich schreiben:

BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("test"),"UTF-8"));
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben