字符串转义工具
转义 或反转义 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 的成因。
经验法则:按目的地转义,而不是按来源——由数据的去向决定,而不是它来自哪里。