使用方法
- 将文本粘贴到“文本”中,并在“操作”中选择“转义”或“反转义”。
- 在“格式”中选择字符串的类型,例如“JSON 字符串”或“SQL 字符串常量”。
- 对于带引号的格式,保持勾选“添加引号”,即可得到带引号的文本;取消勾选,则只得到内容部分。
- 查看“结果”;转义文本时,还可查看“已转义的字符”表。
转义是什么
程序、文件或查询中的字符串只能直接容纳部分字符。转义会把其他字符,以及会结束字符串的字符,替换为一种序列,该格式读取时会还原为同一字符。每种格式都有自己的序列,因此同一字符可以有多种写法;反转义则把这些序列读回为字符。
- JSON 和 JavaScript 使用反斜杠,因此换行写作 \n。
- HTML 和 XML 使用和号、名称和分号,因此和号写作 &。
- CSV 和 SQL 会把结束字段或字符串的那个字符重复一次,因此 SQL 中的单引号写作两个单引号。
各种格式的规则
- JSON 字符串:RFC 8259 第7节。引号、反斜杠和控制字符要转义,并读取由四位十六进制数字组成的 \u 转义。
- JavaScript 字符串:ECMA-262 的字符串字面量。在双引号字符串中,只需转义双引号,并拒绝旧式八进制转义。
- HTML 属性值:五个字符 & < > " ' 写作引用。本页面不认识的名称,例如 é,保持原样。
- XML 文本:同样的五个字符,撇号写作 '。XML 1.0 没有任何方式写出控制字符,因此这类字符会被拒绝。
- CSV 字段:RFC 4180。含有逗号、引号或换行的字段要用双引号括起,其中的每个引号都要重复一次。
- SQL 字符串常量:PostgreSQL 手册。单引号要重复一次。在标准 SQL 中,反斜杠没有特殊含义。
- 正则表达式:按 ECMA-262 列出的语法字符,在每个语法字符前加反斜杠。反转义时保留 \d 之类的转义,因为它们表示字符类。
- C# 或 Java 字符串:两种语言都读取的转义。换行写作 \n,其他控制字符写作 \u 转义。
- Shell 单引号文本:POSIX。单引号之内没有任何字符具有特殊含义,因此单引号写作 '\''(结束引号、转义它、再重新开始)。
容易出错之处
- 对一段文本转义两次,会使反斜杠加倍,因此结果中会出现 \\n,而第一次转义的结果是 \n。
- 放在 JavaScript 文件中的 JSON 字符串,在该文件中仍需要它自己的转义;应用程序中的 SQL 字符串,可能也需要所用语言的转义。
- 表情符号的一半无法用以上任何格式写出,因此页面会拒绝它。请重新输入该字符。
计算示例:含有引号、换行和反斜杠的 JSON 字符串
默认文本为 他说"你好"&离开了。,接着是一个换行,然后是 路径:C:\temp,其中含有两个引号、一个换行和一个反斜杠。以 JSON 字符串并带上引号的形式转义后,结果为 "他说\"你好\"&离开了。\n路径:C:\\temp"。表格统计的是以其他写法出现的字符。
| 字符 | 写作 | 次数 |
|---|---|---|
| " | \" | 2 |
| U+000A | \n | 1 |
| \ | \\ | 1 |
常见问题
文本会被发送到服务器吗?
不会。转义和反转义都在您的浏览器中进行,因此含有密码或令牌的文本只留在您的设备上。
为什么反转义 JSON 时会拒绝 \x41?
JSON 没有 \x 转义,它只有 \u 加四位十六进制数字,因此字母 A 写作 \u0041。JavaScript 字符串确实接受 \x41,所以这两种格式分开列出。
为什么 JavaScript 字符串中不转义单引号?
双引号字符串只需转义双引号。选择了“添加引号”时,结果会被双引号括起,因此单引号在那里只是普通字符。
为什么 SQL 中不转义反斜杠?
标准 SQL 不把字符串常量中的反斜杠视为特殊字符。一些数据库,例如默认设置下的 MySQL,则会这样处理,因此在把反斜杠写入 SQL 字符串之前,请先查看所用数据库的规则。
“添加引号”会改变什么?
开启时,转义后的文本会被该格式的引号括起,例如 JSON 用双引号、SQL 用单引号。关闭时只得到内容,例如当它要放进一个已经带有引号的字符串中时。
我的文本中没有引号,为什么 CSV 结果带有引号?
RFC 4180 要求:字段含有逗号、引号或换行时,必须用引号括起。普通字段则原样写出,不加引号。
为什么 XML 会拒绝控制字符?
XML 1.0 完全不允许 U+0001之类的字符,即使以引用的形式也不行,因此页面无法写出它们。请先把它们从文本中删除。
资料来源
- RFC 8259:The JavaScript Object Notation (JSON) Data Interchange Format,第7节(IETF,英文)
- ECMA-262:ECMAScript Language Specification,字符串字面量与正则表达式语法(英文)
- XML 1.0(第五版),第4.6节预定义实体(W3C,英文)
- RFC 4180:Common Format and MIME Type for Comma-Separated Values (CSV) Files(IETF,英文)
- PostgreSQL 手册:字符串常量,sql-syntax-lexical(英文)
- POSIX Shell and Utilities,第2.2.2节单引号(The Open Group,英文)
- Java Language Specification,第3章:字面量与转义序列(Oracle,英文)
- C# 语言规范,词法结构(Microsoft,英文)
- MySQL 手册:字符串字面量与反斜杠转义字符(英文)
数据和文字最近核对于2026年11月10日星期二。