QQuickKit

HTML 實體編解碼

將 <、>、&、" 等字元轉換為 HTML 實體,或將 HTML 實體還原為原始字元,雙向轉換

關於此工具

HTML 實體是在 HTML 標記中具有特殊含義的字元的文字表示。像 <、>、& 和 " 這樣的字元放入 HTML 內容時,必須進行跳脫,以防止瀏覽器將其誤解為標記語言。QuickKit 的 HTML 實體編碼器/解碼器可在原始文字和實體編碼 HTML 之間互相轉換,讓嵌入使用者產生的內容或解碼 HTML 編碼字串以供檢查變得輕鬆。

功能特色

  • 編碼與解碼 — 將原始文字編碼為 HTML 實體,或將 HTML 實體解碼回純文字——透過分頁切換。
  • 編碼五個關鍵字元 — 處理 &、<、>、" 和 '——符合 OWASP 指南要求安全嵌入 HTML 的五個必要字元。
  • 透過 DOM 安全解碼 — 解碼使用瀏覽器原生 HTML 解析器,可正確處理所有具名、十進位和十六進位實體。
  • 一鍵複製 — 立即將編碼或解碼結果複製到剪貼簿。
  • 完全私密 — 所有編碼和解碼均在瀏覽器客戶端執行,無伺服器端處理。

常見問題

為什麼需要編碼 HTML 實體?
若不進行實體編碼,使用者提供文字中的 < 和 > 字元會被解讀為 HTML 標籤,破壞頁面版面,甚至可能引發 XSS(跨站腳本)攻擊。將 & 編碼為 &amp;、< 為 &lt;、> 為 &gt;、" 為 &quot;,可確保這些字元以可見文字呈現,而不是被解析為標記。
什麼是 XSS?實體編碼如何防止它?
XSS(跨站腳本攻擊)是一種漏洞,攻擊者將惡意腳本注入其他使用者瀏覽的網頁。若網站在未編碼的情況下將使用者輸入輸出到 HTML 中,攻擊者可注入 <script>…</script> 標籤,在受害者的瀏覽器中執行。對所有特殊字元進行實體編碼後,角括號會變成 &lt; 和 &gt;,瀏覽器只會顯示文字而不會執行,從而防止此類攻擊。
&amp; 和 &#38; 有什麼不同?
&amp; 是 & 字元的具名實體參照。&#38; 是同一字元的十進位數字字元參照(Unicode 碼位 38)。&#x26; 是十六進位形式。三種形式在瀏覽器中都產生相同的 & 字元。具名實體可讀性較佳;數字參照則適用於任何 Unicode 字元,即使沒有具名形式也可使用。
這個工具能處理所有 Unicode 字元嗎?
編碼器處理五個標準 HTML 特殊字元(& < > " '),不會將延伸 Unicode 字元轉換為 &eacute; 或 &#233; 等實體。現代 HTML 文件應宣告 UTF-8 字元集(HTML5 的預設值),使嵌入延伸字元不需實體化——直接在 HTML 原始碼中使用即可。

延伸閱讀