假设我有这个:
char registered = '®';
或 umlaut
或任何 unicode 字符。我怎样才能得到它的代码?
最佳答案
只需将其转换为 int
:
char registered = '®';
int code = (int) registered;
事实上,存在从 char
到 int
的隐式转换,因此您不必像我在上面所做的那样明确指定它,但我会在这个案例让您清楚地知道您要做什么。
这将给出 UTF-16 代码单元 - 这与基本多语言平面中定义的任何字符的 Unicode 代码点相同。 (并且只有 BMP 字符可以在 Java 中表示为 char
值。)正如 Andrzej Doyle 的回答所说,如果您想要来自任意字符串的 Unicode 代码点,请使用 Character.codePointAt()
。
一旦您获得了 UTF-16 代码单元或 Unicode 代码点,它们都是整数,您可以自行决定如何处理它们。如果你想要一个字符串表示,你需要确切地决定你想要什么样的 kind 表示。 (例如,如果您知道该值将始终在 BMP 中,您可能需要以 U+
为前缀的固定 4 位十六进制表示,例如 "U+0020"
空间。)但这超出了这个问题的范围,因为我们不知道要求是什么。
关于java - 如何获取 Unicode 字符的代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2006533/