實用工具

HTML 實體編碼器與解碼器

跳脫會破壞標記的字元,或將實體轉回文字。

瀏覽器本機執行編碼3597
免費

輸入

0 B50.0 KB 以內免費

結果

結果會顯示在這裡。

你的執行紀錄

只有消耗點數的執行才會儲存。

登入後可以保留你的執行紀錄。

跳脫五個可能跳出標記的字元 — & < > " ' — 是讓使用者文字不會變成使用者標記的關鍵。此工具會編碼這些字元,並反向解碼具名、十進位和十六進位參照,包括 emoji 和罕見字元以數字參照呈現的情況。

它是怎麼運作的

  • 簡潔模式只跳脫五個對正確性重要的字元,保持輸出可讀。
  • 完整模式跳脫 ASCII 字母和數字以外的所有字元,適用於無法承載 UTF-8 的環境。
  • 解碼功能處理具名、十進位和十六進位參照,並保留無法辨識的參照。

你的資料去了哪裡

哪也沒去。本工具完全在你的瀏覽器裡執行:你貼上的文字由頁面處理,不會傳輸到任何伺服器,也不會寫進任何紀錄。

當一次執行消耗點數時,會往你自己的歷史裡儲存一行摘要,方便回頭查找。摘要記錄的是這次執行的形態——大小、數量、你查詢的值——而不是你貼上的內容。

它要花多少

單次 50.0 KB 以內免費,不需帳號。超出部分每次執行消耗 1 點,並儲存到你的歷史紀錄。

點數來自註冊、每日簽到、發表留言與完善資料。

了解點數規則

常見問題

跳脫是否足以防止 XSS?
僅限於 HTML body 中的文字。在屬性、script 區塊或 URL 中,跳脫規則不同,僅靠實體編碼並不足夠。對於任何使用者控制的內容,請使用框架的上下文感知跳脫功能。
為什麼 &nbsp; 和空格不同?
不換行空格可防止換行,且不會與相鄰空白合併。從網頁複製到程式碼中時,它看起來像空格,卻會破壞解析——這就是為什麼在除錯前解碼文字是值得的。
我需要跳脫所有非 ASCII 字元嗎?
不需要。以 UTF-8 提供的網頁可以直接處理這些字元,跳脫它們會讓原始碼更難閱讀。完整模式是為無法信賴編碼的舊管線而存在。

背後的開源專案

本工具是獨立實作,並未打包第三方函式庫。mathiasbynens/he(MIT)在程式碼層面做的是同一件事——如果你需要在自己的程式裡實作它,從那裡開始,而不是呼叫一個網頁。

mathiasbynens/he

也常被稱作

  • HTML entity encode
  • HTML decode
  • escape HTML
  • HTML 實體轉換
  • unescape HTML