使用步驟
- 選擇「編碼」或「解碼」,以及 HTML 實體或 Unicode 轉義。
- 貼上文字,結果即時更新。
- HTML 編碼時,選擇只轉義 5 個特殊字元,還是同時轉義所有非 ASCII 字元。
- 複製結果。
引數說明
- 只轉義特殊字元
- 把 & < > " ' 轉成實體。對於 UTF-8 網頁,這樣就足夠了,中文等字元保持可讀。
- 同時轉義非 ASCII
- 把所有 ASCII 以外的字元(包括中文)轉成數字實體,適用於無法儲存 UTF-8 的老系統。
- 使用命名實體
- 有名稱的字元用 ©、 等名稱表示,沒有的用數字實體。
- Unicode 轉義
- \uXXXX 用於 JavaScript 和 JSON(emoji 會變成兩個轉義,即代理對),\u{…} 用於新版 JavaScript,U+XXXX 用於標註碼點,&#…; 是十進位制 HTML 實體。
常用實體
| 字元 | 命名實體 | 數字實體 |
|---|---|---|
| & | & |
& |
| < | < |
< |
| > | > |
> |
| “ | " |
" |
| ’ | ' |
' |
| 不換行空格 | |
  |
| © | © |
© |
| — | — |
— |
常見問題
轉義 HTML 能防止 XSS 嗎?
把文字插入 HTML 元素內容之前進行轉義是必要的防護手段之一。但屬性、URL、JavaScript、CSS 等上下文各有不同的轉義規則,實際開發請優先使用框架自帶的轉義功能,而不是手動處理。
和普通空格有什麼區別?
不換行空格(U+00A0)看起來和空格一樣,但瀏覽器不會在它所在的位置換行,連續多個也不會被合併。
中文怎麼轉成 \u 編碼?
選擇 Unicode 轉義中的 \uXXXX,例如「中文」會變成 中文。反過來貼上 中文 選擇解碼即可還原。
為什麼缺少分號的 © 也能解碼?
由於歷史原因,HTML 標準規定部分常用實體即使沒有結尾的分號也會被解碼。本工具遵循與瀏覽器相同的規則。
隱私說明
本工具完全在瀏覽器中執行,檔案和文字都在你的裝置上處理,不會上傳到我們的伺服器。