在 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() 方法将整数转换为字符,而不是显式地进行类型转换。