HTML 實體編碼工具

在線轉換 HTML 實體字符,支持編碼與解碼,有效防止 XSS 攻擊

輸入文本
字符數: 0
字節數: 0
轉換結果
字符數: 0
字節數: 0

選擇轉換方式

什麼是 HTML 實體編碼?

HTML 實體編碼是一種將特殊字符轉換為 HTML 實體引用的機制。在 HTML 中,某些字符具有特殊含義(如 <、>、&),如果需要在頁面中顯示這些字符本身,就必須使用實體編碼。實體編碼有兩種形式:命名實體(如 &lt;)和數字實體(如 &#60;)。命名實體更易讀,而數字實體可以表示任何 Unicode 字符。

HTML 實體編碼的主要用途

  • 防止 XSS 攻擊: 將用戶輸入的特殊字符轉義,防止惡意腳本注入
  • 顯示特殊字符: 在 HTML 中顯示 < > & " ' 等保留字符
  • 國際化支持: 使用數字實體顯示各種語言的特殊字符
  • 代碼展示: 在網頁中安全地展示 HTML 代碼片段

使用方法

基本操作

  1. 在左側輸入框輸入或粘貼需要轉換的文本
  2. 點擊對應的轉換按鈕選擇編碼或解碼方式
  3. 右側自動顯示轉換結果
  4. 點擊「複製」按鈕複製結果到剪貼板

轉換方式說明

  • HTML 實體編碼: 將 < > & " ' 轉換為命名實體,適合防止 XSS
  • HTML 實體解碼: 將命名實體還原為原始字符
  • 數字實體編碼: 將特殊字符轉換為數字實體形式(如 &#60;)
  • 完整編碼: 將所有非 ASCII 字符都進行編碼,適合國際化場景
  • 完整解碼: 還原所有形式的 HTML 實體

快捷鍵

  • Ctrl + E - HTML實體編碼
  • Ctrl + D - HTML實體解碼

常用 HTML 實體字符表

字符命名實體數字實體說明
<&lt;&#60;小於號
>&gt;&#62;大於號
&&amp;&#38;和號
"&quot;&#34;雙引號
'&apos;&#39;單引號
空格&nbsp;&#160;不換行空格
©&copy;&#169;版權符號
®&reg;&#174;註冊商標
&trade;&#8482;商標符號
&euro;&#8364;歐元符號
¥&yen;&#165;日元/人民幣符號

常見問題 (FAQ)

Q: HTML 實體編碼和 URL 編碼有什麼區別?

A: HTML 實體編碼用於 HTML 文檔中,將特殊字符轉換為 &xxx; 或 &#xxx; 格式;URL 編碼用於 URL 中,將特殊字符轉換為 %XX 格式。兩者應用場景不同,HTML 編碼用於頁面內容,URL 編碼用於鏈接地址。

Q: 為什麼編碼後 & 顯示為 &amp;?

A: 因為 & 本身是實體編碼的前綴,編碼時需要先處理。第一次編碼會將 & 變成 &amp;,這是正確的。解碼時會將 &amp; 還原為 &。

Q: 命名實體和數字實體哪個更好?

A: 命名實體(如 &lt;)更易讀,便於維護;數字實體(如 &#60;)可表示任意 Unicode 字符,兼容性更好。對於常用字符推薦命名實體,對於特殊字符使用數字實體。

Q: 如何防止 XSS 攻擊?

A: 對於用戶輸入的內容,在輸出到 HTML 頁面前,使用 HTML 實體編碼將 < > & " ' 等字符轉義。這樣即使用戶輸入了惡意腳本,也會被當作普通文本顯示,不會被執行。

Q: 我的數據安全嗎?

A: 完全安全。本工具的所有處理都在您的瀏覽器本地完成,數據不會上傳到任何服務器。您的數據始終留在您的設備上。