CodeToolProCodeToolPro
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 自动转义),它们经过安全审计且与框架深度集成。

    How to Use Text Escape / Unescape

    1. 1Enter your input data into the tool
    2. 2Adjust any available options or settings
    3. 3View the output result displayed instantly
    4. 4Copy, download, or share the result

    Frequently Asked Questions

    • Do I need to install anything?

      No. CodeToolPro runs entirely in your browser. No downloads, no browser extensions, no app installations required.

    • Is Text Escape / Unescape free?

      Yes, 100% free. No registration, no credit card required. All tools are freely available for developers worldwide.

    • Does this tool upload my data to any server?

      No. All processing runs locally in your browser using client-side JavaScript. Your input data, code, or files never leave your device. We do not store, log, or transmit any user data.