在 Java 中将 UTF-8 转换为 Unicode


在开始转换之前,让我们先了解一下 Unicode 和 UTF-8。

Unicode 是一种国际字符编码标准,能够表示全球大多数书面语言。Unicode 使用十六进制来表示字符。Unicode 是一种 16 位字符编码系统。最小值为 \u0000,最大值为 \uFFFF。

UTF-8 是一种可变宽度字符编码。UTF-8 能够像 ASCII 一样简洁,但也可以包含任何 Unicode 字符,从而导致文件大小略有增加。UTF 代表 **Unicode 转换格式**。“8”表示它分配 8 位块来表示一个字符。表示一个字符所需的块数从 1 到 4 不等。

为了将 UTF-8 转换为 Unicode,我们创建一个 String 对象,其参数为 UTF-8 字节数组名称和字符集(即字节数组所属的字符集,在本例中为 UTF-8)。

让我们看一个通过创建一个新的 String 对象来将 UTF-8 转换为 Unicode 的程序。

示例

 实时演示

public class Example {
   public static void main(String[] args) throws Exception {
      String str = "hey\u6366";
      byte[] charset = str.getBytes("UTF-8");
      String result = new String(charset, "UTF-8");
      System.out.println(result);
   }
}

输出

hey捦

让我们理解一下上面的程序。首先,我们使用 getBytes() 方法将给定的 Unicode 字符串转换为 UTF-8,以便将来进行验证。

String str = "hey\u6366";
byte[] charset = str.getBytes("UTF-8")

然后,我们通过创建一个新的 String 对象,将字符集字节数组转换为 Unicode,如下所示:

String result = new String(charset, "UTF-8");
System.out.println(result);

更新于: 2020-06-26

5K+ 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告