在 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+ 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告