Text Escape / Unescape
Input
Output
技术详情
文本转义/反转义工具的工作原理
工具功能
文本转义工具提供 HTML 和 JSON 两种格式的转义与反转义操作。HTML 转义将 < > & " ' 等 HTML 敏感字符转为对应的实体(< > 等),防止 XSS 注入和 HTML 解析错误;HTML 反转义则将实体还原为原始字符。JSON 转义将引号、反斜杠、换行符等 JSON 敏感字符转为转义序列(\" \\ \n 等),确保文本可以安全嵌入 JSON 字符串中。支持双向一键转换。
常见开发者使用场景
文本转义是 Web 安全的基础。在将用户输入渲染到 HTML 页面时必须进行 HTML 转义,防止跨站脚本攻击(XSS);在构建 JSON API 响应时需要对字符串内容进行 JSON 转义;在邮件模板中嵌入 HTML 时需要对特殊字符进行转义保护。日志记录中,转义处理可以防止日志注入攻击。配置文件解析中,反转义用于恢复原始字符串值。
HTML 转义后可使用 HTML 实体编码器 进行更完整的实体编码,JSON 转义后可配合 Unicode 转义工具 处理非 ASCII 字符。
HTML 实体与 JSON 转义规则
HTML 实体编码将 HTML 保留字符替换为安全等效表示。核心规则是:& → &、< → <、> → >、" → "、' → '。这些字符在 HTML 中有特殊含义,直接使用可能导致解析错误或安全漏洞。反转义操作按正确顺序执行(先处理 & 再处理其他),避免二次转义问题。
JSON 转义规则:\ → \\、" → \"、换行符 → \n、回车符 → \r、制表符 → \t。JSON 规范要求所有控制字符和双引号在字符串值中必须转义。
常见陷阱与注意事项
- 转义顺序:反转义时必须按正确顺序处理,先解码 & 再解码其他实体。如果先解码 <,再遇到 &lt; 就会产生错误的输出。
- 双重转义:对已经转义的内容再次转义会导致"双重编码"(如 < 变成 &lt;),使文本失去原始语义。
- JSON 转义不全:该工具仅处理最常见的 JSON 转义序列,完整的 JSON 转义还包括 \f、\b 和 \uXXXX Unicode 转义。
- 安全注意:HTML 转义可以防止 XSS,但不是万能的安全措施。还需结合 CSP(内容安全策略)、输入验证等多层防护。
何时使用此工具而非代码
在需要快速转义/反转义文本内容、验证转义效果或处理少量字符串时使用此工具。对于生产代码中的转义需求,应使用语言内置或框架提供的转义函数(如 Express 的模板引擎自动 HTML 转义、JSON.stringify 自动 JSON 转义、React 的 JSX 自动转义),它们经过安全审计且与框架深度集成。