功能介绍
字符串转义工具把文本转换成可以放进字符串字面量的形式,也能把转义后的字符串还原成普通文本。支持九种目标:JSON、JavaScript、Java 和 C#、Python、SQL 字符串、CSV 字段、XML 文本和属性、正则表达式以及 POSIX Shell 命令。每种都按该语言自己的规则处理,结果可以直接粘贴进代码而不会产生语法错误。
常见用途:把多行提示语或 Windows 路径写进 JSON 配置文件,把一段 HTML 嵌入 JavaScript 字符串,给带空格的文件名加上 Shell 引号,或者把 price (USD) 这样的字面搜索词变成能精确匹配它的正则表达式。
使用方法
- 选择「转义」或「反转义」。
- 选择语言或格式。
- 把文本粘贴到输入框,或点「示例」,结果随输入实时更新。
- 复制输出,或点「作为输入」反向转换,确认能原样还原。
JSON、JavaScript、Java/C# 和 Python 还可以把所有非 ASCII 字符也转义,得到纯 ASCII 字符串,在任何文件编码下都不会乱码。
示例
同一行文本按不同目标转义的结果:
Input: He said "hi" in C:\Temp
JSON: He said \"hi\" in C:\\Temp
SQL: He said "hi" in C:\Temp (only ' is doubled)
Regex: He said "hi" in C:\\Temp
Shell: 'He said "hi" in C:\Temp'
各格式的规则
- JSON:转义引号、反斜杠和控制字符,与
JSON.stringify完全一致。 - JavaScript:额外转义单引号、反引号、垂直制表符以及行分隔符 U+2028、U+2029。
- Java / C#:反斜杠转义和
\uXXXX;反转义时还接受 Java 的八进制转义和 C# 的\x、\U转义。 - Python:反斜杠转义,支持
\x、\u、\U;未知转义保持原样。 - SQL:把单引号加倍,符合标准 SQL 字符串字面量。
- CSV:值中含逗号、引号、换行或首尾空格时,用双引号包裹并把内部引号加倍。
- XML:替换五个预定义实体;反转义时也解码数字字符引用。
- 正则表达式:在每个有特殊含义的字符前加反斜杠,让模式按字面匹配文本。
- Shell:用单引号包裹(POSIX Shell 中单引号内不做任何展开),内部的单引号写成
'\''。
常见问题
› 什么是字符串转义?
有些字符在字符串字面量里有特殊含义,比如结束字符串的引号、换行符。转义就是把它们换成安全的写法(通常是反斜杠加一个字母),这样字符串放进源代码、查询语句或文件里时不会出错。
› 粘贴时要带上字符串两边的引号吗?
不用,只粘贴内容。转义结果就是代码里两个引号之间的部分。CSV 和 Shell 是给整个值加引号的,需要时工具会自动加上外层引号。
› SQL 转义能防止 SQL 注入吗?
把单引号加倍可以得到合法的字符串字面量,手写查询或准备迁移脚本时很有用。但在应用代码里,一定要用参数化查询或预处理语句,而不是拼接 SQL 字符串。
› 反转义为什么提示未知的转义序列?
每种语言支持的转义不同。例如 JSON 没有 \x 和 \0,工具会指出所选语言不接受的第一个序列的位置。Python 和其解释器一样,会把 \d 这类未知转义原样保留。
› 我的文本会上传吗?
不会。转义和反转义都在浏览器里完成,不会发送到服务器。