字串轉義工具
轉義 或反轉義 8 種格式的字串:HTML、XML、JavaScript、Java、.Net (C#)、JSON、CSV 和 SQL。 所有處理都在瀏覽器本地進行——你的資料絕不上傳到任何伺服器。
📁 開啟檔案
🔗 載入 URL
處理
複製
下載
示例
清空
⚠ 安全警告: 字串轉義不能 替代引數化查詢。僅靠轉義並不能防止 SQL 注入。在生產程式碼中請始終使用引數化查詢(預編譯語句)。
使用方法: 選擇一個格式 和方向 (轉義 / 反轉義),然後輸入或貼上你的文本——輸出會自動更新。點選處理 可手動觸發轉換。 在 JSON、JavaScript、Java 和 .Net 模式下,勾選轉義所有非 ASCII 字元 可以把中文等字元轉換為 \uXXXX 序列。反轉義 是轉義的逆過程:< 變回 <,\n 變回換行符,等等。
HTML: 轉義 把 & < > " ' 轉換為 HTML 實體(& < > " ')。在 HTML 中嵌入使用者生成的內容時使用,以防止 XSS 攻擊。反轉義 把 HTML 實體(& < > " ')轉換回原始字元。使用瀏覽器原生 HTML 解析器,可靠地解碼所有命名實體和數字實體。
XML: 轉義 把與 HTML 相同的 5 個字元(& < > " ')轉換為 XML 安全實體。XML 要求所有 & 字元都被轉義,包括在屬性值中。反轉義 把 XML 實體轉換回原始字元。處理 5 個預定義 XML 實體以及數字字元引用。與 HTML 反轉義邏輯相同。
JavaScript: 轉義 把特殊字元轉換為 JavaScript 轉義序列:\n \t \\ \" \' \xHH \uHHHH \u{H...}。動態生成 JavaScript 字串字面量時使用。反轉義 把 JavaScript 轉義序列(\n \t \xHH \uHHHH 等)轉換回字面字元。處理所有標準 ECMAScript 轉義序列,包括 \u{H...} 碼點轉義。
JSON: 轉義 按 RFC 8259 把 \" \\ 和控制字元轉換為 JSON 安全的轉義序列。在 JSON 字串值中嵌入文本時使用。反轉義 把 JSON 轉義序列(\" \\ \n \uXXXX 等)轉換回字面字元。遵循 RFC 8259:只解碼有效的 JSON 轉義序列。
CSV: 轉義 遵循 RFC 4180:欄位包含逗號、雙引號或換行符時用雙引號包裹。內部雙引號加倍(" → "")。反轉義 逆向 RFC 4180 CSV 轉義:去掉外側雙引號並把內部成對引號還原("" → ")。正確處理多行欄位和帶引號的逗號。
SQL: 轉義 通過把單引號加倍來轉義(' → ''),適用於所有主流資料庫(MySQL、PostgreSQL、SQL Server、SQLite)。這隻處理字串字面量轉義——不能 防止動態查詢中的 SQL 注入。反轉義 把加倍的單獨引號('' → ')轉換回單引號。逆向標準 SQL 字串字面量轉義。
Java: 轉義 把特殊字元轉換為 Java 轉義序列:\n \t \r \\ \" \' \uXXXX 等。生成 Java 字串字面量時使用。反轉義 把 Java 轉義序列轉換回字面字元。處理所有標準 Java 轉義序列,包括 \uXXXX Unicode 轉義。
.Net (C#): 轉義 把特殊字元轉換為 C# 轉義序列:\n \t \r \a \v \0 \\ \" \uXXXX \UHHHHHHHH 等。生成 C# 字串字面量時使用。反轉義 把 C# 轉義序列轉換回字面字元。處理所有標準 C# 序列,包括 \UHHHHHHHH UTF-32 和變長 \xHH... 十六進位制轉義。
轉義取決於上下文
同一段文本落到不同的地方需要不同的轉義:HTML 正文需要 < & >,雙引號屬性還需要 ",JavaScript 字串需要反斜槓轉義,URL 需要百分號編碼。為錯誤的上下文轉義正是標記注入和 XSS 的成因。
經驗法則:按目的地轉義,而不是按來源——由資料的去向決定,而不是它來自哪裡。