實用工具
輸入
結果
結果會顯示在這裡。你的執行紀錄
只有消耗點數的執行才會儲存。
登入後可以保留你的執行紀錄。
跳脫五個可能跳出標記的字元 — & < > " ' — 是讓使用者文字不會變成使用者標記的關鍵。此工具會編碼這些字元,並反向解碼具名、十進位和十六進位參照,包括 emoji 和罕見字元以數字參照呈現的情況。
它是怎麼運作的
- 簡潔模式只跳脫五個對正確性重要的字元,保持輸出可讀。
- 完整模式跳脫 ASCII 字母和數字以外的所有字元,適用於無法承載 UTF-8 的環境。
- 解碼功能處理具名、十進位和十六進位參照,並保留無法辨識的參照。
你的資料去了哪裡
哪也沒去。本工具完全在你的瀏覽器裡執行:你貼上的文字由頁面處理,不會傳輸到任何伺服器,也不會寫進任何紀錄。
當一次執行消耗點數時,會往你自己的歷史裡儲存一行摘要,方便回頭查找。摘要記錄的是這次執行的形態——大小、數量、你查詢的值——而不是你貼上的內容。
它要花多少
單次 50.0 KB 以內免費,不需帳號。超出部分每次執行消耗 1 點,並儲存到你的歷史紀錄。
點數來自註冊、每日簽到、發表留言與完善資料。
了解點數規則常見問題
- 跳脫是否足以防止 XSS?
- 僅限於 HTML body 中的文字。在屬性、script 區塊或 URL 中,跳脫規則不同,僅靠實體編碼並不足夠。對於任何使用者控制的內容,請使用框架的上下文感知跳脫功能。
- 為什麼 和空格不同?
- 不換行空格可防止換行,且不會與相鄰空白合併。從網頁複製到程式碼中時,它看起來像空格,卻會破壞解析——這就是為什麼在除錯前解碼文字是值得的。
- 我需要跳脫所有非 ASCII 字元嗎?
- 不需要。以 UTF-8 提供的網頁可以直接處理這些字元,跳脫它們會讓原始碼更難閱讀。完整模式是為無法信賴編碼的舊管線而存在。
背後的開源專案
本工具是獨立實作,並未打包第三方函式庫。mathiasbynens/he(MIT)在程式碼層面做的是同一件事——如果你需要在自己的程式裡實作它,從那裡開始,而不是呼叫一個網頁。
mathiasbynens/he也常被稱作
- HTML entity encode
- HTML decode
- escape HTML
- HTML 實體轉換
- unescape HTML