I want to display a Unicode character in Java. If I do this, it works just fine:
String symbol = "\u2202";
symbol is equal to "∂". That's what I want.
The problem is that I know the Unicode number and need to create the Unicode symbol from that. I tried (to me) the obvious thing:
int c = 2202;
String symbol = "\\u" + c;
However, in this case, symbol is equal to "\u2202". That's not what I want.
How can I construct the symbol if I know its Unicode number (but only at run-time—I can't hard-code it in like the first example)?
Best Answer
If you want to get a UTF-16 encoded code unit as a
char
, you can parse the integer and cast to it as others have suggested.If you want to support all code points, use
Character.toChars(int)
. This will handle cases where code points cannot fit in a singlechar
value.Doc says: