Hallo zusammen,
Habe folgendes Problem. Bekomme einen String mit den XML-Format & # x 00c9; (natürlich ohne Leerzeichen) für ein Unicode-Zeichen. Dieses möchte ich in einer Methode in das Java-Format \u00c9 umwandeln!
Das Problem ist, dass ich nicht schreiben kann
String value = „\u“+gefundeneZahl;
Gibt es eine Funktion die das kann?
Bin für jeden Tip dankbar!
Gruß
Daniel
Hallo,
Habe folgendes Problem. Bekomme einen String mit den
XML-Format & # x 00c9; (natürlich ohne Leerzeichen) für ein
Unicode-Zeichen. Dieses möchte ich in einer Methode in das
Java-Format \u00c9 umwandeln!
Das Problem ist, dass ich nicht schreiben kann
String value = „\u“+gefundeneZahl;
für char sollte:
int gefundeneZahl;
gefundeneZahle=…;
char c=(char) gefundeneZahl;
funktionieren, da java automatisch Unicode-fähig ist.
Cu Rene
Das Problem ist, dass ich die „Zahl“ mit Hilfe von RegExp finde und daher ein ein String ist. Wenn ich den String (z.B. 00C9) in ein int casten möchte, compiliert er zwar ordentlich, allerdings kommt es dann zu einem Laufzeitfehler.
Der Code sieht folgendermaßen aus:
RE reUnicode = new RE("(.*);");
String test = „ein beliebig& #00c9;r String…“;
String s;
reUnicode.match(test);
s = reUnicode.getParent(1);
s="\u"+s; //DIESE ZEILE FUNKTIONIERT LEIDER NICHT!!!
test = reUnicode.subst(test, s);
Gibt es also eine andere Möglichkeit?
Danke und Gruß
Daniel
Daniel
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Daniel,
zur Umwandlung von Hex-Strings (genaugenommen zu einer beliebigen Basis) in Integer gibt es in der Klasse
java.math.BigInteger
den Konstruktor:
public BigInteger(String val, int radix)
und die Methode:
public int intValue()
Natürlich kann man das mal eben auch selbst in ca. 10-20 Zeilen programmieren.
Cu Rene