ToolboxAgent

HTML 實體編碼/解碼

在線 HTML 實體編碼和解碼工具,適合處理代碼片段和富文本內容。

使用說明

  1. 1 輸入 HTML 或實體文本
  2. 2 選擇編碼或解碼
  3. 3 查看結果並複製

相關工具

關於此工具

HTML 實體編碼將 <、>、&、" 等特殊字符轉換為 &lt;、&gt;、&amp; 等 HTML 實體,防止瀏覽器將內容解析為 HTML 標籤。在富文本編輯器、用戶評論展示、代碼高亮場景中,正確轉義是防止 XSS 攻擊的第一道防線。

常見場景:將代碼片段嵌入 HTML 頁面展示時需要轉義尖括號;從數據庫或 API 獲取到已轉義的 HTML 實體需要還原為可讀文本;爬蟲解析 HTML 時遇到 &amp;nbsp; 等實體需要統一解碼處理。

相比手寫 replace 替換鏈,本工具覆蓋完整的 HTML5 命名實體(包括 &copy;、&mdash; 等數百個符號),雙向處理,避免遺漏導致頁面顯示異常或安全漏洞。

常見問題

什麼情況下必須做 HTML 實體編碼? +

當用戶輸入的內容(評論、暱稱、搜索詞等)要直接插入 HTML 文檔時,必須先做實體編碼。尤其是包含 <script>、<img onerror=> 等字符串時,不轉義會導致 XSS 攻擊,攻擊者可執行任意 JavaScript。

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

&nbsp; 是不換行空格(Non-Breaking Space),瀏覽器不會在此處自動換行,也不會合並多個連續空格為一個。普通空格在 HTML 中會被合併。排版時若需要保留多個空格或防止特定位置換行,才使用 &nbsp;。

解碼後為什麼有些實體變成了問號或方框? +

這通常是字體不支持對應的 Unicode 字符。HTML 實體(如 &#128512; 表示 😀)解碼後是正確的 Unicode 字符,只是當前字體沒有對應字形。換用支持 Emoji 或特殊符號的字體即可正常顯示。

HTML 實體編碼能完全防止 XSS 嗎? +

轉義 HTML 上下文中的內容可以防止大多數 XSS,但還不夠。在 JavaScript 上下文(如 onclick 屬性值)、CSS 上下文(如 style 屬性)中插入用戶數據需要額外的轉義策略。完整的 XSS 防護需要結合 CSP 策略和框架內置的安全機制。

能處理 &#x 十六進制形式的 HTML 實體嗎? +

可以。本工具支持三種形式的 HTML 實體解碼:命名實體(&amp;)、十進制數字實體(&#38;)和十六進制數字實體(&#x26;)。編碼時默認輸出命名實體形式,常見字符均有對應命名,更直觀易讀。