在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,我们创建了一个字符串对象,该对象的参数为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对象,将charset字节数组转换为Unicode,如下所示:

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