1. ホーム
  2. java

文字のUnicode値を取得する

2023-10-22 22:33:39

質問

Javaで、任意の文字のUnicode版を取得する方法はありますか? 例えば、次のようなものです。

例えば、あるメソッド getUnicode(char c) . 呼び出し getUnicode('÷') を返さなければなりません。 \u00f7 .

どのように解決するのですか?

ここにあるワンライナーを使えば、どのようなJava charでも解決できます。

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

しかし、これはUnicode 3.0までのUnicode文字にしか使えないので、どのJava charに対してもできると予言したわけです。

なぜなら、JavaはUnicode 3.1が来るずっと前に設計され、それゆえJavaのcharプリミティブはUnicode 3.1以降を表現するには不十分だからです:もうquot;1 Unicode character to one Java char"のマッピングはありません(代わりに巨大なハックが使用されます)。

つまり、Java charまたは任意の可能なUnicode文字をサポートする必要があるのでしょうか?