HTML 實體編碼/解碼

將 HTML 特殊字符(<、&、"、'、>)編碼為命名或數字實體,或將它們解碼回純文本。自動檢測方向。

範例: <p>Hello & world</p> → &lt;p&gt;Hello &amp; world&lt;/p&gt;

HTML 實體編碼替換了否則會被解釋為 HTML 標記的特殊字符。 < 變成 &lt;, & 變成 &amp;,等等。當在網頁中以純文字顯示使用者產生的內容時,這是必需的 - 沒有它,您就會遇到 XSS 漏洞。

該工具自動偵測:如果輸入包含實體引用,則進行解碼;否則它會編碼。

命名實體與數位實體,以及五個重要的實體

該工具掃描輸入字串中的每個字符,並將其映射到 HTML5 規範中定義的相應 HTML 實體。對於五個預定義的字元引用 - & (&amp;), < (&lt;), > (&gt;), " (&quot;),以及 ' (&apos;) — 它使用命名實體。對於其他字符,它會退回到數字字符引用:十進制 (&#代碼點;) 或十六進位 (&#x代碼點;)。自動檢測邏輯檢查輸入是否存在 &;如果找到,它假定輸入是實體編碼的,並嘗試透過解析每個實體標記並將其轉換回其 Unicode 代碼點來進行解碼。對於五個特殊字符,編碼始終傾向於命名實體;對於所有其他字符,它使用字符的數字 Unicode 代碼點。

如何對 HTML 實體進行編碼或解碼

  1. 在輸入框中鍵入或貼上要編碼或解碼的文字。
  2. 按一下「編碼」按鈕將特殊字元轉換為 HTML 實體。
  3. 按一下「解碼」按鈕將 HTML 實體轉換回純文字。
  4. 從輸出框中複製結果並在 HTML 或應用程式中使用它。

& 符號已經編碼,表情符號作為數字參考

非 ASCII 字元
像 © 或 ® 這樣的字元被編碼為其數字實體(例如 ©),因為它們沒有命名實體。
雙編碼
如果輸入已經包含 & 並且您再次編碼,它會變成 &;該工具不會阻止這種情況 - 您必須確保輸入是原始文本。
無效實體
解碼會處理格式錯誤的實體,例如 &unknown;作為文字文本,保持不變。

轉義用户輸入以防止標記損壞

  • 請務必在編輯原始文字之前進行解碼,以避免意外插入可見實體程式碼。
  • 使用數位實體(例如,∫)來表示缺少命名實體的異常符號。
  • 在 HTML 中嵌入使用者輸入時,僅對五個危險字元進行編碼以防止 XSS。
  • 透過將編碼輸出貼回來來測試雙重編碼;它應該解碼為原始純文字。

命名實體、數字、原始 UTF-8

手動尋找替換和特定於語言的庫提供了處理 HTML 實體編碼的替代方法。

這個工具Python html 模組Notepad++ 尋找並替換
易於使用無需安裝,立即在瀏覽器中運行需要 Python 腳本和 shell需要啟動編輯器、多步驟正規表示式
字元覆蓋率透過數位實體的完整 Unicode透過 html.escape/unescape 實現完整的 Unicode只能明確替換,不能自動替換
批量處理一次單一字串可以以程式設計方式處理文件每個文檔手動,無自動化

從 SGML 到 HTML5 的命名清單的實體

HTML 實體源自 HTML 的父標準 SGML。五個基本實體—— &lt;, &gt;, &amp;, &quot;, 和 &apos; — 由 Tim Berners-Lee 和 Dan Connolly 在 RFC 1866 (HTML 2.0, 1995) 中正式化。基於 Unicode 代碼點的數字字元引用後來被合併到 HTML 4.0 (1997) 中以支援國際字元。此工具可自動執行開發人員先前手動或透過伺服器端功能執行的編碼/解碼。

當需要 HTML 實體時

在網頁上顯示程式碼範例

如果你想展示 <div> 作為文字而不是渲染它,首先對尖括號進行編碼。

清理使用者輸入

在將使用者輸入的內容插入 DOM 之前,進行實體編碼以防止腳本注入。現代框架會自動執行此操作;原始 HTML 字串需要手動轉義。

讀取原始 API 回應

某些 API 以 JSON 值傳回實體編碼的 HTML。解碼使它們易於人類閲讀。

在聊天中分享帶有 & 符號的 URL

一些聊天工具渲染 & 在 URL 中作為損壞的實體。在貼上之前對共享 URL 進行一次編碼可以修復這種邊緣情況。

在屬性中嵌入 HTML

包含 HTML 的豐富工具提示和資料屬性需要對其內容進行實體編碼,以便外部解析器不會感到困惑。

HTML 實體問題

命名實體和數位實體有什麼差別?

命名: &lt;, &amp;, &quot;。數字: &#60;, &#38;, &#34;。兩者都有效;命名對於任何字元(包括沒有命名實體的字元)來説都更具可讀性,數字工作。

它對每個特殊字元進行編碼嗎?

五個必須編碼的 HTML 字元: <, >, &, ", '。其他字元(破折號、版權)不加改變地傳遞——現代 HTML 將它們作為 UTF-8 處理。

解碼是如何運作的?

該工具透過隱藏的文字區域使用瀏覽器自己的 HTML 解析器。無論瀏覽器解碼什麼,您都會得到什麼——保證對於任何有效的實體引用都是正確的。

這和 URL 編碼一樣嗎?

不——不同的逃生裝置。 URL編碼 用途 %xx 十六進制; HTML實體編碼用途 &name; 或 &#nn;。對 URL 元件使用 URL 編碼; HTML 內容的 HTML 編碼。

將我們的工具嵌入您的網站

對任何網站免費。沒有註冊。 iframe 從我們的伺服器載入並自動保持最新狀態。

📋 嵌入字數計數器

複製此片段(自動調整大小,複製按鈕有效):

即時預覽:

📋 嵌入此 HTML 實體編碼/解碼

複製此片段(自動調整大小,複製按鈕有效):

即時預覽:

想要更多選擇嗎? 所有嵌入式工具 →