【发布时间】:2011-07-31 22:49:55
【问题描述】:
我想在 Java 中显示一个 Unicode 字符。如果我这样做,它工作得很好:
String symbol = "\u2202";
符号等于“∂”。这就是我想要的。
问题是我知道 Unicode 编号并且需要从中创建 Unicode 符号。我尝试了(对我而言)显而易见的事情:
int c = 2202;
String symbol = "\\u" + c;
但是,在这种情况下,符号等于“\u2202”。这不是我想要的。
如果我知道符号的 Unicode 编号,我该如何构造符号(但仅在运行时——我不能像第一个示例那样对其进行硬编码)?
【问题讨论】:
-
删除第一个反斜杠,这样它就不会转义反斜杠,而是转义 Unicode 序列。使用 "\\" 告诉 Java 你想打印出 "\",而不是使用它作为 Unicode 字符转义序列的过去。如果您删除第一个,那么它将转义 Unicode 序列而不是第二个反斜杠。至少,据我所知,它会。
-
您可以通过以下方式简单地将
int转换为char:char ch = (char)c;。你可以像这样创建一个字符串:String symbol = "" + (char)c;。将字符添加到现有字符串时,这种类型的转换应该是最简单的方法。示例:String text = "You typed the following character: " + (char)c;
标签: java string unicode character