在 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 字元

在這個例子中,我們使用了 String.valueOf() 方法,它接受一個 char 型別作為引數並返回一個字串。轉換後,我們首先獲得一個 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 字元的示例。

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 作為基數傳遞。之後,我們使用 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 字元的示例。

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() 方法將整數轉換為字元,而不是顯式地進行型別轉換。