ZH
我的工具

字符串转义 / 反转义(JavaScript、Java、C#、Python、Go、PHP、Bash)

对 JavaScript、Java、C#、C/C++、Python、Go、PHP、Bash、PowerShell、正则表达式和 CSV 的字符串字面量进行转义或反转义,支持 \n、\uXXXX、\x 和八进制。

方向
仅转义时有效,可让源文件保持纯 ASCII。
仅转义时有效。反转义时,会自动识别并去掉外层引号和前缀(@、r、b、$)。
结果
第 1 行: \"双引号\"和'单引号'\n第 2 行:\tC:\\Users\\小明 — 咖啡 😀
转换前字符数
44
转换后字符数
50

换行已变成 \n,因此字面量只有一行。

我的工具 →
广告

各种语言在字符串里写特殊字符的规则并不相同:JavaScript 和 Java 用 \n 和 \uXXXX,C# 在 \x 后最多读取四位十六进制数字,C 会读取后面所有的十六进制数字,Go 把 \x 当作字节,PHP 只在双引号中转义,而 Shell 需要完全不同的做法。这个工具可以把普通文本转义成所选语言的正确字面量,也可以按各语言自己的语法把字面量还原成原文本。

使用方法

  1. 粘贴文本,或要解码的字符串字面量。
  2. 选择转义或反转义。
  3. 选择语言和引号类型,例如 Python '…' 或 C# 逐字字符串 @"…"。
  4. 转义时,可选择是否转义非 ASCII 字符并添加外层引号。
  5. 复制结果。

计算公式

转义:\ → \\ · 引号 → \" · 换行 → \n · 制表符 → \t · 控制字符 → 因语言而异,使用 \x、\u 或八进制

反转义遵循各语言的语法:JavaScript 接受 \x、\u、\u{…}、续行符和旧式八进制;Java 接受不超过 \377 的八进制和 \uXXXX;C# 接受 1–4 位的 \x 和 \U;C 和 Go 的八进制/十六进制转义是字节,按 UTF-8 解码;Python 对未知转义会保留反斜杠;PHP 和 Bash 对未知转义保持原样。语言不接受的转义(Java 的 \q、Go 的 \')会连同行号和列号一起报告。反转义时,会自动去掉外层引号以及 @、r、$ 等前缀。

示例

示例中有引号、换行、制表符和 Windows 的反斜杠。作为 JavaScript "…" 字面量,它会变成 第 1 行: \"双引号\"和'单引号'\n第 2 行:\tC:\\Users\\小明 — 咖啡 😀,单引号保持不变,因为字符串使用双引号。把 C# 文本 \x41BC 反转义,得到的是单个字符 䆼(U+41BC),而不是“ABC”,因为 C# 会读取四位十六进制数字。

常见问题

为什么 Java 不用 \u000A?

Java 在读取程序之前就会先转换 \u 转义,\u000A 会变成字符串里真正的换行,导致代码无法编译。本工具改写 \n 和 \r。

怎么在 Shell 的 '…' 字符串里放单引号?

单引号内不能再包含单引号,所以要先结束字符串,写一个转义的引号,再重新开始:it's 会变成 'it'\''s'。Bash 还提供 $'…' 字符串,其中 \' 可以使用。

未知的转义会报错吗?

因语言而异。Java、C# 和 Go 会拒绝(并给出带位置的错误);JavaScript 会丢掉反斜杠;Python、PHP 和 Bash 会保留反斜杠;C 编译器会警告并使用该字符本身。

我的文本会被发送到别处吗?

不会。转义和反转义都在浏览器中完成。

资料来源

最后更新:

引用此工具
APA

kakaoCalc. (2026, November 8). 字符串转义 / 反转义(JavaScript、Java、C#、Python、Go、PHP、Bash). https://kakao.mobile/zh/tools/string-escape-tool/

MLA

“字符串转义 / 反转义(JavaScript、Java、C#、Python、Go、PHP、Bash).” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/string-escape-tool/.

广告