Java でその番号から Unicode 文字を取得する

Mohammad Irfan 2023年10月12日
  1. Java でのキャストを使用して Unicode 文字を取得する
  2. Java で String.valueOf() メソッドを使用して Unicode 文字を取得する
  3. Java で Character.toChars() メソッドを使用して Unicode 文字を取得する
Java でその番号から 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);
  }
}

出力:

Java ソースコードのエスケープシーケンス(\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() メソッドを使用して整数を文字に変換することを除いて、基本的に前のメソッドと同じです。

関連記事 - Java Character