Unicode 16.0 字元資料庫已就緒

Unicode 字元查詢工具

完整的 Unicode 字元查詢、分析與編碼工具。涵蓋 13 大分類、支援 Character Analyzer 與 Unicode Inspector,內建 UTF-8/UTF-16 編碼即時運算。

Character Analyzer 字元分析器 即時分析每個字元的 Unicode 資訊
Unicode Inspector 字元檢測器 檢測 ZWJ 序列與組合字元結構
輸入 Emoji 或文字後點擊「檢測」查看結構...
Unicode 字元表

Unicode 是什麼?

Unicode(統一碼/萬國碼)是一個國際字元編碼標準,旨在涵蓋世界上所有書寫系統的文字與符號。由 Unicode 聯盟維護,最新版本為 Unicode 16.0(2024年發布),包含超過 154,000 個字元。

Unicode 為每個字元分配一個唯一的數字,稱為 Code Point,格式為 U+XXXX。例如:U+0041 代表 A,U+4E2D 代表「中」,U+1F600 代表 😀。

重點: Unicode 只是字元編碼的「字典」,實際儲存和傳輸則依賴 UTF-8、UTF-16 等編碼方式。

ASCII、Unicode、UTF-8 的差異

比較項目 Unicode UTF-8 ASCII
角色字元編碼標準編碼實作方式舊編碼標準
位元數21 位元 (Code Point)8–32 位元 (可變)7 位元
字元數154,000+同 Unicode128
語言支援全球所有語言同 Unicode僅英文
向後相容 ASCII
應用場景編碼標準定義Web、檔案、通訊舊系統、嵌入式

UTF-8 與 UTF-16 的差異

特性 UTF-8 UTF-16
位元組順序Little-Endian可選 BOM (U+FEFF)
BMP (U+0000-U+FFFF)1-3 位元組2 位元組
BMP 外 (U+10000+)4 位元組4 位元組 (Surrogate Pair)
網頁使用率~98%<2%
特色空間效率高、ASCII 相容適合 CJK 與 BMP 字元

UTF-8 已是網際網路的絕對主流(約 98% 的網站使用 UTF-8),但 Windows 內部與某些舊系統偏好 UTF-16。

Emoji 如何編碼?

Emoji 也是 Unicode 字元!它們被分配在特定的 Unicode 區塊中,主要分布在:

  • U+1F600-U+1F64F:Emoticons(表情符號)
  • U+1F300-U+1F5FF:Miscellaneous Symbols and Pictographs(雜項符號和象形文字)
  • U+1F680-U+1F6FF:Transport and Map Symbols(交通和地圖符號)
  • U+2600-U+26FF:Miscellaneous Symbols(雜項符號,如 ☀ ☂ ☎ ⚠)
  • U+2700-U+27BF:Dingbats(裝飾符號,如 ✂ ✉ ✈ ✊)

Emoji 可以透過 ZWJ(Zero Width Joiner, U+200D) 將多個字元組合成一個複雜 Emoji。例如:

👨 (U+1F468) + ZWJ (U+200D) + 👩 (U+1F469) + ZWJ (U+200D) + 👧 (U+1F467) + ZWJ (U+200D) + 👦 (U+1F466) = 👨‍👩‍👧‍👦

此外,Emoji 還可以使用 Variation Selector (U+FE0F) 指定 Emoji 風格,以及 Regional Indicator(U+1F1E6-U+1F1FF)組合成國家旗幟。

Unicode 常見 FAQ

Unicode 和 UTF-8 有什麼關係?
Unicode 是字元編碼標準,定義了每個字元對應的 Code Point(如 U+4E2D 代表「中」)。UTF-8 是 Unicode 的一種儲存和傳輸編碼方式,它將 Code Point 轉換為可變長度的位元組序列。可以這樣理解:Unicode 是「字典」,UTF-8 是「如何打包」。除了 UTF-8,還有 UTF-16 和 UTF-32 等其他編碼方式。
什麼是 Code Point?
Code Point(碼點)是 Unicode 為每個字元分配的唯一的數字編號,格式為 U+XXXX,範圍從 U+0000 到 U+10FFFF。例如 A 的 Code Point 是 U+0041,😀 是 U+1F600。Code Point 通常以十六進位表示,但本質上就是一個整數。Unicode 將所有 Code Point 劃分為 17 個平面(Plane),每個平面包含 65,536 個碼點。
什麼是 Surrogate Pair(代理對)?
Surrogate Pair 是 UTF-16 編碼中用於表示 BMP(Basic Multilingual Plane)以外的字元(U+10000 以上)的機制。它使用兩個 16 位元代碼單元:高位代理(U+D800-U+DBFF)和低位代理(U+DC00-U+DFFF)。例如,😀 (U+1F600) 在 UTF-16 中被編碼為 D83D DE00。這就是為什麼 String.length 在 JavaScript 中對 Emoji 的計算會不準確。
什麼是 ZWJ(Zero Width Joiner)?
ZWJ(U+200D)是一個不可見的控制字元,用於將多個 Unicode 字元連接成一個複合圖形。最常見的應用是 Emoji ZWJ 序列,例如 👨‍👩‍👧‍👦(家庭)由 👨 + ZWJ + 👩 + ZWJ + 👧 + ZWJ + 👦 組合而成。如果裝置不支援該組合,則會顯示為單獨的字元。ZWJ 序列使 Emoji 可以無限擴展,無需為每個組合分配獨立的 Code Point。
BOM(Byte Order Mark)是什麼?
BOM(U+FEFF)是一個 Unicode 字元,用於標示文字串流的位元組順序(Endianness)。在 UTF-16 和 UTF-32 中,BOM 可以指示是 Big-Endian 還是 Little-Endian。在 UTF-8 中,BOM 沒有意義(因為 UTF-8 是位元組序無關的),但有些 Windows 應用程式(如記事本)會在 UTF-8 檔案開頭加上 BOM(EF BB BF)。這在某些 Unix/Linux 工具中會造成問題。
如何判斷一個字元是 ASCII 還是 Unicode?
檢查該字元的 Code Point 是否在 0-127 範圍內。如果是,則該字元與 ASCII 相容。具體來說:U+0000 到 U+007F 是標準 ASCII 字元;U+0080 到 U+00FF 是 Latin-1 Supplement(延伸 ASCII);U+0100 以上是真正的 Unicode 擴展字元。在 UTF-8 中,ASCII 字元只需 1 個位元組(首位為 0),而非 ASCII 字元使用 2-4 個位元組(首位為 1)。您可以使用本工具的 Character Analyzer 快速查看任何字元的完整資訊。
Unicode 16.0 有哪些新增內容?
Unicode 16.0(2024年發布)新增了約 5,000 個字元,包含新的 CJK 統一漢字(Extension I)、更多象形文字、音樂符號、以及多個新的 Emoji。Unicode 聯盟每年都會發布新版本,持續擴充字元覆蓋範圍。您可以在 unicode.org 查看完整的版本更新日誌。
操作成功