Java でその番号から Unicode 文字を取得する
- Java でのキャストを使用して Unicode 文字を取得する
- 
          
            Java で String.valueOf()メソッドを使用して Unicode 文字を取得する
- 
          
            Java で Character.toChars()メソッドを使用して Unicode 文字を取得する
 
このチュートリアルでは、Java で Unicode 文字をその番号から取得する方法を紹介します。
Unicode は、プログラミング言語のすべての文字と記号にコードを割り当てる文字エンコードシステムです。他のエンコーディング標準はすべての言語をカバーしていないため、Unicode は、言語の任意の組み合わせを使用してデータを取得または組み合わせることができる唯一のエンコーディング方法です。
Java は Unicode 文字を強力にサポートしています。このチュートリアルでは、その番号から Unicode 文字を作成する方法について説明します。
Java でのキャストを使用して Unicode 文字を取得する
ここでは、int 値を char にキャストすることで Unicode 値を取得します。
Character.toString() メソッドを使用して、Unicode 文字を表す int から文字列に文字列を取得することもできます。ただし、このメソッドをコードに適用する前に、まずコードを明示的に char に変換する必要があります。
以下の例を参照してください。
public class SimpleTesting {
  public static void main(String args[]) {
    int code = 0x2202;
    System.out.println((char) code);
    String code_str = Character.toString((char) code);
    System.out.println(code_str);
  }
}
出力:
∂
∂
Character.toString() メソッドはオーバーロードされたメソッドであり、引数としてコードポイントを取り、指定されたコードポイントの文字列表現を返します。別の例については、以下のコードを参照してください。
public class SimpleTesting {
  public static void main(String args[]) {
    int code = 0x13434;
    String code_str = Character.toString((char) code);
    System.out.println(code_str);
  }
}
出力:
㐴
\u ビット)は HEX であるため、コードの前に 0x 拡張子を付けました。Java で String.valueOf() メソッドを使用して Unicode 文字を取得する
この例では、引数として char 型を取り、文字列を返す String.valueOf() メソッドを使用しました。キャスト後、最初に char を取得し、それを valueOf() メソッドに渡します。
以下の例を参照してください。
public class SimpleTesting {
  public static void main(String args[]) {
    int code = 0x13434;
    char ch_code = (char) code;
    String code_str = String.valueOf(ch_code);
    System.out.println(code_str);
  }
}
出力:
㐴
Unicode 文字を取得するもう 1つの例を見てみましょう。
public class SimpleTesting {
  public static void main(String args[]) {
    int code = 0x2202;
    char ch_code = (char) code;
    String code_str = String.valueOf(ch_code);
    System.out.println(code_str);
  }
}
出力:
∂
Java で Character.toChars() メソッドを使用して Unicode 文字を取得する
この例では、char を返す toChar() メソッドを使用しました。
コードを Unicode に変換するには、最初に parseInt() を使用して 16 を基数として渡して 16 進整数に変換する必要があります。この後、Character.toChars() メソッドを使用して整数を char データ型に変換しました。
最後に、String.valueOf() メソッドを呼び出して文字列を生成します。以下のコード例を見てください。
public class SimpleTesting {
  public static void main(String args[]) {
    String code = "2202";
    String code_str = String.valueOf(Character.toChars(Integer.parseInt(code, 16)));
    System.out.println(code_str);
  }
}
出力:
∂
Unicode 文字を取得するもう 1つの例を見てみましょう。
public class SimpleTesting {
  public static void main(String args[]) {
    String code = "1434";
    String code_str = String.valueOf(Character.toChars(Integer.parseInt(code, 16)));
    System.out.println(code_str);
  }
}
出力:
ᐴ
このメソッドは、整数を明示的に型キャストする代わりに、toChars() メソッドを使用して整数を文字に変換することを除いて、基本的に前のメソッドと同じです。