跳到正文
馬克工具箱

HTML 實體編碼解碼

把文字轉義成可以安全放進 HTML 的形式,把滿是實體的文字還原成可讀字元,或把字元轉換成 JavaScript、JSON、CSS 使用的 Unicode 轉義序列。解碼支援 HTML5 標準中的全部命名實體。

在瀏覽器本地執行,輸入的內容和檔案都不會上傳

使用步驟

  1. 選擇「編碼」或「解碼」,以及 HTML 實體或 Unicode 轉義。
  2. 貼上文字,結果即時更新。
  3. HTML 編碼時,選擇只轉義 5 個特殊字元,還是同時轉義所有非 ASCII 字元。
  4. 複製結果。

引數說明

只轉義特殊字元
把 & < > " ' 轉成實體。對於 UTF-8 網頁,這樣就足夠了,中文等字元保持可讀。
同時轉義非 ASCII
把所有 ASCII 以外的字元(包括中文)轉成數字實體,適用於無法儲存 UTF-8 的老系統。
使用命名實體
有名稱的字元用 &copy;、&nbsp; 等名稱表示,沒有的用數字實體。
Unicode 轉義
\uXXXX 用於 JavaScript 和 JSON(emoji 會變成兩個轉義,即代理對),\u{…} 用於新版 JavaScript,U+XXXX 用於標註碼點,&#…; 是十進位制 HTML 實體。

常用實體

字元 命名實體 數字實體
& &amp; &#38;
< &lt; &#60;
> &gt; &#62;
“ &quot; &#34;
’ &apos; &#39;
不換行空格 &nbsp; &#160;
© &copy; &#169;
— &mdash; &#8212;

常見問題

轉義 HTML 能防止 XSS 嗎?

把文字插入 HTML 元素內容之前進行轉義是必要的防護手段之一。但屬性、URL、JavaScript、CSS 等上下文各有不同的轉義規則,實際開發請優先使用框架自帶的轉義功能,而不是手動處理。

&nbsp; 和普通空格有什麼區別?

不換行空格(U+00A0)看起來和空格一樣,但瀏覽器不會在它所在的位置換行,連續多個也不會被合併。

中文怎麼轉成 \u 編碼?

選擇 Unicode 轉義中的 \uXXXX,例如「中文」會變成 中文。反過來貼上 中文 選擇解碼即可還原。

為什麼缺少分號的 &copy 也能解碼?

由於歷史原因,HTML 標準規定部分常用實體即使沒有結尾的分號也會被解碼。本工具遵循與瀏覽器相同的規則。

隱私說明

本工具完全在瀏覽器中執行,檔案和文字都在你的裝置上處理,不會上傳到我們的伺服器。

相關工具