一尘不染

Java获取字符的unicode值

java

Java中有什么办法可以让我获得与任何字符均等的Unicode?例如

假设有一个方法getUnicode(char c)。呼叫getUnicode('÷')应该返回\u00f7


阅读 953

收藏
2020-03-13

共1个答案

一尘不染

你可以使用以下一种衬里对任何Java字符进行处理:

System.out.println( "\\u" + Integer.toHexString('÷' | 0x10000).substring(1) );

但这仅适用于Unicode 3.0以下的Unicode字符,这就是为什么我建议你可以对任何Java字符都使用它。

由于Java是在Unicode 3.1出现之前进行设计的,因此Java的char原语不足以表示Unicode 3.1及更高版本:不再存在“将一个Unicode字符映射到一个Java char”的映射(而是使用了骇人听闻的技巧)。

因此,你实际上必须在这里检查你的要求:是否需要支持Java字符或任何可能的Unicode字符?

2020-03-13