Ich baue eine Sprache, eine Spielzeugsprache. Die Syntax \#0061
sollte die gegebene Unicode zu einem Zeichen konvertieren:Konvertierung von Unicode zu String in Java
String temp = yytext().subtring(2);
Dann danach versucht '\u'
auf den String anhängen, bemerkte ich, dass ein Fehler erzeugt.
Ich habe auch versucht, "\\" + "u" + temp;
dieser Weg macht keine Umwandlung.
Ich versuche im Grunde, Unicode in ein Zeichen zu konvertieren, indem ich nur '0061'
zu einer Methode, Hilfe.
Beachten Sie, dass 16 Bit (4 Hexadezimalziffern) nicht ausreichen, um alle Zeichen in Unicode darzustellen. In Java ordnet "\ u1234" einer Codepunkteinheit in UTF-16 zu, die nicht mit einem Zeichen identisch ist. –
Nachtrag: Tatsächlich ist es der Java-Datentyp char, der auf UTF-16-Code-Point-Units, nicht auf tatsächliche Unicode-Zeichen, abgebildet wird. –