切换工具

字符串转义

按 JSON / Java / JS / SQL / C / Shell 规则转义或反转义字符串。

目标语言
模式
原始文本
0 chars · 1 lines
转义结果
0 chars · 1 lines

使用说明

用途

字符串转义 / 反转义在线工具,处理 JSON / JavaScript / Java / Python / SQL / HTML / Shell / Regex 等多种上下文的转义字符。把含特殊字符(换行、引号、反斜杠、Tab、Unicode 等)的字符串转换为对应语言的转义形式,反向把转义字符串还原为可读文本。常用于复制日志 / 错误信息到代码字符串、把 JSON 内嵌到 JSON / SQL 里、调试转义乱码、生成跨语言代码的字符串字面量等场景。所有处理在浏览器本地完成。

操作步骤

  1. 左侧粘贴原文(含换行 / 引号 / 特殊字符)
  2. 选目标语言:JSON / JS / Java / Python / SQL / HTML / Shell / Regex
  3. 右侧输出对应语言的转义字符串
  4. 反向:粘贴已转义字符串,工具自动反转义为可读
  5. JSON 转义:\\n \\t \\" \\\\ \\u00XX
  6. SQL 转义:单引号变两个单引号、双引号变 \\"、反斜杠变 \\\\
  7. Shell 转义:用单引号包裹或用 \\$ \\` \\" 等
  8. Regex 转义:. * + ? ( ) [ ] 等元字符前加反斜杠

常见问题

JSON 和 JavaScript 字符串转义有什么区别?
**核心字符**(\n \t \" \\)相同。**差异**:1) JSON 不支持单引号字符串,JS 支持;2) JSON 不允许尾随空格 / 注释,JS 允许;3) JS 支持 \u{XXXX} 和 \xXX 转义,JSON 只支持 \uXXXX;4) JS 支持模板字符串里的 `${}`,JSON 不支持。**实际**:JSON 转义是 JS 字符串转义的严格子集。
SQL 字符串怎么防注入?
SQL 转义不可靠(不同数据库规则不同),**正确做法用参数化查询 / 预编译语句**:`SELECT * FROM users WHERE name = ?` + 参数。**手动转义场景**:单引号变两个单引号(''),反斜杠按数据库设置(MySQL 默认要转义反斜杠,PostgreSQL 默认不需要)。本工具的 SQL 模式按 MySQL 标准处理。
Shell 单引号和双引号转义不一样?
**单引号 '**: 内部所有字符字面化,**不能包含单引号**(要用 '"'"' 拼接)。**双引号 \"**: 仍解析 $变量、`命令`、\转义。**最佳实践**:固定字符串用单引号最安全;要插入变量用双引号 + 仔细转义;复杂字符串用 heredoc:cat <<EOF ... EOF。
正则元字符要不要全转义?
**14 个元字符必须转义**: . * + ? ^ $ ( ) [ ] { } | \ /(最后那个 / 仅在 JS 字面正则字符串需要)。**字符类内 [ ]**: 大部分元字符在 [ ] 内失效,但 ] ^ - 仍要转义(位置影响:^ 在开头是否定,- 在中间是范围)。本工具的 regex 模式按 PCRE 标准转义。
Unicode 字符要不要转义?
**JSON / JS**: 推荐保留 UTF-8 原字符(中文 / Emoji 直接写),更可读。需要转义时 \uXXXX 形式(BMP 内)或 \u{XXXXX} 形式(JS ES2015+ 支持超 BMP)。**遗留系统对接**: 老 PHP / Java 可能要求纯 ASCII,用 \u 转义所有非 ASCII。本工具的 ASCII-only 模式生成全转义结果。

应用场景

  • 日志 → 代码字符串:把含换行的错误日志贴到单元测试里
  • JSON 嵌套:把 JSON 字符串作为另一份 JSON 的字段值
  • SQL 生成:把含引号的用户输入安全嵌入 SQL(虽然推荐参数化)
  • Shell 脚本:生成含路径 / 引号的命令字符串
  • 正则模板:动态生成正则时把用户输入转义为字面字符

适用场景

日志转代码、JSON 嵌套、SQL 生成、Shell 脚本、动态正则。开发者多语言转义高频场景。多语言上下文支持、双向转义、Unicode 模式可选是关键差异点。