跳至主要內容
Lizely

Unicode 編碼/解碼工具

將文字轉換為明確的 Unicode 程式碼點,或從 U+ 與 JavaScript 風格的標量表示法重建文字,且不會將補充平面字元分割。

隱私權:你的檔案不會離開裝置,所有處理均在瀏覽器本機完成。

使用方式

  1. 1.選擇「文字轉程式碼點」並貼入精確的 Unicode 字串,包含不可見字元。
  2. 2.將每個 U+ 標記轉換並檢視;補充字元維持為單一標量值。
  3. 3.解碼時請輸入以 U+XXXX 或 \u{...} 開頭的標記,標記間以空格、逗號或換行分隔。

關於Unicode 編碼/解碼工具

Unicode 編碼/解碼工具將文字轉換為一連串 Unicode 程式碼點標籤,並可將驗證過的標籤轉迴文字。此工具設計用於檢視字元、除錯複製的字串,以及理解為何一個可見符號可能包含多個程式碼點。轉換過程在瀏覽器端執行。

編碼模式會迭代 Unicode 程式碼點,而非 JavaScript UTF-16 程式碼單位。基本字元至少會有四個十六進位數位,例如 A 會轉為 U+0041。補充平面字元保留完整值,因此 😀 會轉為 U+1F600,而不是被拆解為兩個補位半段。

解碼模式接受以 U+ 或 JavaScript 風格的反斜線-u 標記開頭的標記,包含補充值的花括號表示法。標記可由空格、逗號或換行分隔。十六進位為不區分大小寫,輸出文字僅在每個標記透過標量值驗證後才會生成。

有效的 Unicode 標量值範圍為 U+0000 至 U+10FFFF,但排除 U+D800 至 U+DFFF 之間的區間。此區間保留給 UTF-16 補位程式碼單位,並不代表獨立的字元。該工具拒絕補位、超出範圍的數值、缺少字首及非十六進位標記,而非靜默替換。

一個程式碼點不必然對應使用者所感知的字元。表情符 👩‍💻 包含 U+1F469、U+200D 與 U+1F4BB:女性、零寬度連線符與筆電。許多旗標、家庭表情符、帶有重音的形態以及書寫系統也使用序列。本頁面顯示標量序列,並未聲稱能分割圖形字元群。

Unicode 程式碼點與 UTF-8 位元組不同。U+00E9 代表字元 é,而其 UTF-8 表示則為兩個位元組 C3 A9。若需協議或檔案格式的位元組級編碼,請使用相關的 UTF-8 位元組轉換工具。若問題是文字中包含哪些抽象字元,則此工具為正確選擇。

刻意不執行標準化處理。預組合的 é 可能為 U+00E9,而外觀相似的分離形式可能為 U+0065 U+0301。兩者皆有效且可渲染相同,但在此仍視為不同的序列。這種精確性有助於診斷搜尋、識別字串、檔名及比較問題。

包含控制字元與預設忽略的程式碼點。換行符會轉為 U+000A,零寬度連線符會明確顯示為 U+200D。顯示這些值可解釋意外的遊標移動、不可見差異,或為何從其他來源複製的文字在精確比較時失敗。

輸入限制為 100,000 程式碼點,以維持顯示與複製的響應性。該工具不會查詢字元名稱、書寫系統、混淆狀態或語言意義,亦不會驗證序列是否構成推薦的表情符或正字法群組。這些屬性屬於獨立的 Unicode 特性,超出可逆的標量轉換範疇。

八個標準支援的測試案例涵蓋 ASCII、拉丁語重音、CJK、補充表情符、混合基本與補充文字、音樂符號、換行符以及結合的表情符序列。測試會雙向驗證,並分別拒絕補位與超出範圍的值。此設計避免常見的自我一致性陷阱,即錯誤的補位規範在反向轉換時會自我迴圈。

使用編碼模式貼入欲檢視的精確文字,然後複製 U+ 序列。使用解碼模式時,若檔案、日誌或原始碼提供標量標記,請輸入這些標記。請保留字首與標記邊界,特別是當相鄰值可能被誤認為一個較長的十六進位數時。

輸出為診斷用途的表示,非用於所有程式語言的加密或轉義。HTML 值、JSON 轉義、URL 編碼與 UTF-8 位元組具有不同的語法與規則。請選擇消費系統所需的表示方式,並將程式碼點檢視視為字元身份的基礎真理。

方法與來源

文字會依 Unicode 量值逐一處理,並以大寫 U+ 十六進位格式呈現,且至少為四碼。解碼模式會先驗證量值範圍及續碼排除,再呼叫平臺的碼點建構函式。

常見問題

為何一個表情符會產生多個程式碼點?
許多表情符是透過修訂符或 U+200D 連線而成的序列。一個可見的圖形字元不必然對應單一 Unicode 標量值。
為何拒絕補位值?
U+D800 至 U+DFFF 是為配對保留的 UTF-16 程式碼單位,並非獨立的 Unicode 標量值。
這顯示的是 UTF-8 位元組嗎?
不是。它顯示的是抽象的程式碼點。UTF-8 是這些值的獨立位元組編碼。

編碼與加密 使用指南

查看全部