CodeToolProCodeToolProFree Online Developer Tools
GitHub

Text Escape / Unescape

Input

  • Output

  • 技术详情

    文本转义/反转义工具的工作原理

    工具功能

    文本转义工具提供 HTML 和 JSON 两种格式的转义与反转义操作。HTML 转义将 < > & " ' 等 HTML 敏感字符转为对应的实体(&lt; &gt; 等),防止 XSS 注入和 HTML 解析错误;HTML 反转义则将实体还原为原始字符。JSON 转义将引号、反斜杠、换行符等 JSON 敏感字符转为转义序列(\" \\ \n 等),确保文本可以安全嵌入 JSON 字符串中。支持双向一键转换。


    常见开发者使用场景

    文本转义是 Web 安全的基础。在将用户输入渲染到 HTML 页面时必须进行 HTML 转义,防止跨站脚本攻击(XSS);在构建 JSON API 响应时需要对字符串内容进行 JSON 转义;在邮件模板中嵌入 HTML 时需要对特殊字符进行转义保护。日志记录中,转义处理可以防止日志注入攻击。配置文件解析中,反转义用于恢复原始字符串值。

    HTML 转义后可使用 HTML 实体编码器 进行更完整的实体编码,JSON 转义后可配合 Unicode 转义工具 处理非 ASCII 字符。


    HTML 实体与 JSON 转义规则

    HTML 实体编码将 HTML 保留字符替换为安全等效表示。核心规则是:& → &amp;、< → &lt;、> → &gt;、" → &quot;、' → &#39;。这些字符在 HTML 中有特殊含义,直接使用可能导致解析错误或安全漏洞。反转义操作按正确顺序执行(先处理 &amp; 再处理其他),避免二次转义问题。

    JSON 转义规则:\ → \\、" → \"、换行符 → \n、回车符 → \r、制表符 → \t。JSON 规范要求所有控制字符和双引号在字符串值中必须转义。


    常见陷阱与注意事项

    • 转义顺序:反转义时必须按正确顺序处理,先解码 &amp; 再解码其他实体。如果先解码 &lt;,再遇到 &amp;lt; 就会产生错误的输出。
    • 双重转义:对已经转义的内容再次转义会导致"双重编码"(如 &lt; 变成 &amp;lt;),使文本失去原始语义。
    • JSON 转义不全:该工具仅处理最常见的 JSON 转义序列,完整的 JSON 转义还包括 \f、\b 和 \uXXXX Unicode 转义。
    • 安全注意:HTML 转义可以防止 XSS,但不是万能的安全措施。还需结合 CSP(内容安全策略)、输入验证等多层防护。

    何时使用此工具而非代码

    在需要快速转义/反转义文本内容、验证转义效果或处理少量字符串时使用此工具。对于生产代码中的转义需求,应使用语言内置或框架提供的转义函数(如 Express 的模板引擎自动 HTML 转义、JSON.stringify 自动 JSON 转义、React 的 JSX 自动转义),它们经过安全审计且与框架深度集成。