在 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);
廣告