java - 如何获取 Unicode 字符的代码?

标签 java unicode character

假设我有这个:

char registered = '®';

umlaut 或任何 unicode 字符。我怎样才能得到它的代码?

最佳答案

只需将其转换为 int:

char registered = '®';
int code = (int) registered;

事实上,存在从 charint 的隐式转换,因此您不必像我在上面所做的那样明确指定它,但我会在这个案例让您清楚地知道您要做什么。

这将给出 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/

相关文章:

sql - 使用适用于 Windows Phone 的 odata 客户端库插入 Unicode 字符串

c++ - 使用 C++11,我还需要一个用于 Unicode 文本的非标准字符串操作库吗?

javascript - 如何在 Javascript 中打印文字 unicode 字符串?

facebook - 不可见字符 - ASCII

java - 将 APK 与应用程序 bundle 在一起

java - 队列/链表程序中的 NullPointerException

python - 使用 pyodbc 和 SQL 的 nvarchar 字段出现此 UnicodeDecodeError 的原因是什么?

c# - 重构 Java 周期性任务

java - 连续调用 'SOAPMessage.writeTo' 抛出读取错误

Python - 计算空格,而不是空行