UTF-8 作為 Unicode 的編碼方式

什麼是 UTF-8

UTF-8 是一種編碼,它是可變長度的,使用 8 位程式碼單元 - 這就是 UTF- 8 的原因。在網際網路上,UTF-8 是主導編碼(在 2008 年 ASCII 之前,它也可以處理任何 Unicode 程式碼點)。

UTF-8 和 Unicode 一樣嗎?

Unicode 不是編碼 - 它是編碼字符集 - 即一組字元以及字元和表示它們的整數程式碼點之間的對映。但是很多文件都使用它來引用編碼。例如,在 Windows 上,術語 Unicode 用於表示 UTF-16。

UTF-8 只是編碼 Unicode 的一種方式,作為編碼,它將位元組序列轉換為字元序列,反之亦然。UTF-16 和 -32 是其他 Unicode 轉換格式。

UTF-8 的 BOM

這三個可能都有一個特定的位元組順序標記,這是一個神奇的數字,它向程式發出了幾個重要資訊(例如,Notepad ++) - 例如,匯入的文字流是 Unicode 的事實; 它也有助於檢測用於此流的 Unicode 技術。但是,Unicode 聯合建議在沒有任何簽名的情況下儲存 UTF-8。某些軟體,例如 gcc 編譯器會抱怨檔案是否包含 UTF-8 簽名。另一方面,許多 Windows 程式使用簽名。並且嘗試檢測位元組流的編碼並不總是有效。

如何檢查你的專案是否具有 UTF-8 編碼

UTF-8 尚未普及,軟體工程師和資料科學家經常面臨文字流編碼的問題。有時 UTF-8 應該在專案中使用,但是正在使用另一種 ecndoing。有幾種工具可以檢測檔案的編碼:

  • 一些 CMD 工具,如 Linux 命令列工具’ file ‘或
    powershell;
  • Python 包 chardet
  • Notepad ++可能是最受歡迎的手動檢查工具。