HTML 實體編碼/解碼
在線 HTML 實體編碼和解碼工具,適合處理代碼片段和富文本內容。
使用說明
- 1 輸入 HTML 或實體文本
- 2 選擇編碼或解碼
- 3 查看結果並複製
相關工具
關於此工具
HTML 實體編碼將 <、>、&、" 等特殊字符轉換為 <、>、& 等 HTML 實體,防止瀏覽器將內容解析為 HTML 標籤。在富文本編輯器、用戶評論展示、代碼高亮場景中,正確轉義是防止 XSS 攻擊的第一道防線。
常見場景:將代碼片段嵌入 HTML 頁面展示時需要轉義尖括號;從數據庫或 API 獲取到已轉義的 HTML 實體需要還原為可讀文本;爬蟲解析 HTML 時遇到 &nbsp; 等實體需要統一解碼處理。
相比手寫 replace 替換鏈,本工具覆蓋完整的 HTML5 命名實體(包括 ©、— 等數百個符號),雙向處理,避免遺漏導致頁面顯示異常或安全漏洞。
常見問題
什麼情況下必須做 HTML 實體編碼? +
當用戶輸入的內容(評論、暱稱、搜索詞等)要直接插入 HTML 文檔時,必須先做實體編碼。尤其是包含 <script>、<img onerror=> 等字符串時,不轉義會導致 XSS 攻擊,攻擊者可執行任意 JavaScript。
和普通空格有什麼區別? +
是不換行空格(Non-Breaking Space),瀏覽器不會在此處自動換行,也不會合並多個連續空格為一個。普通空格在 HTML 中會被合併。排版時若需要保留多個空格或防止特定位置換行,才使用 。
解碼後為什麼有些實體變成了問號或方框? +
這通常是字體不支持對應的 Unicode 字符。HTML 實體(如 😀 表示 😀)解碼後是正確的 Unicode 字符,只是當前字體沒有對應字形。換用支持 Emoji 或特殊符號的字體即可正常顯示。
HTML 實體編碼能完全防止 XSS 嗎? +
轉義 HTML 上下文中的內容可以防止大多數 XSS,但還不夠。在 JavaScript 上下文(如 onclick 屬性值)、CSS 上下文(如 style 屬性)中插入用戶數據需要額外的轉義策略。完整的 XSS 防護需要結合 CSP 策略和框架內置的安全機制。
能處理 &#x 十六進制形式的 HTML 實體嗎? +
可以。本工具支持三種形式的 HTML 實體解碼:命名實體(&)、十進制數字實體(&)和十六進制數字實體(&)。編碼時默認輸出命名實體形式,常見字符均有對應命名,更直觀易讀。