字符串转义与反转义

为 JSON、JavaScript、Java、Python 或 XML 转义字符串中的特殊字符 —— 也可反向还原。

功能特性

JSON 转义
JavaScript 转义
Java 转义
Python 转义
XML 转义

使用方法

1. 选择语言(JSON、JavaScript、Java、Python、XML)。

2. 选择「转义」或「反转义」。

3. 粘贴字符串并复制结果。

关于这个工具

引号、反斜杠和换行等特殊字符,必须写成转义序列才能放进代码或数据中的字符串字面量里。而各种语言的规则不同,复制粘贴的文本常常因此导致语法错误或配置损坏。这个工具可以针对五种目标进行转义或反转义:JSON、JavaScript、Java、Python 和 XML。JSON 转义与 JSON.stringify 一致,引号、反斜杠和控制字符会变成 \"、\\、\n 和 \u 转义;JavaScript、Java 和 Python 模式按各自字符串字面量的规则处理引号、反斜杠和常见控制字符;XML 模式把 &、<、>、" 和 ' 转换为实体。粘贴文本,选择语言和方向,然后把结果复制到代码中即可。

常见问题

什么时候需要转义字符串?
只要文本要放进把某些字符当作语法的字符串或数据格式中,就需要转义。例如 JSON 值里的引号、JavaScript 里 Windows 路径的反斜杠,或 XML 中的 & 符号。
JSON 转义和 JavaScript 转义有什么区别?
JSON 字符串必须用双引号,控制字符要写成 \n、\t 或 \u00XX。JavaScript 还允许单引号字符串和模板字符串,因此它的转义还要处理单引号,并且可以把控制字符写成 \x 转义。
转义后换行怎么表示?
真实的换行会变成 \n 两个字符(回车变成 \r),这样整段文本可以放在一行代码里。反转义时它们会变回真正的换行。
转义足以防止注入攻击吗?
针对正确的上下文转义会有帮助,但 SQL 请使用参数化查询,HTML 请使用框架的模板功能,Shell 命令则应避免用用户输入拼接字符串。手动转义很容易出错。
为什么反转义后有些序列没有变化?
只有在所选语言中合法的序列才会被转换。如果字符串是按另一种语言转义的,比如在 JSON 模式下处理 XML 实体,请先切换到对应的模式。

相关工具