在进行转换之前,让我们了解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);