编码与转义

字符串转义明确语法,再还原原文

先选择字符串将用于哪种上下文,再转换引号与转义序列。

字符串转义

输入

结果

逐字符检查

转义时检查原始值,反转义时检查还原值。按码点列出条目,孤立代理项单独标记。

转换仅在当前浏览器内完成,不上传输入内容。

转换选项

请明确选择上下文。JSON 使用严格字符串语法;JavaScript 只支持已列出的子集。Unicode 仅接受选定的转义形式,每次只还原一层。

输入上限 1,048,576 个 UTF-16 单位,输出上限 4,194,304 个单位。粘贴可能改变换行形式。

输入文字或载入示例后开始。

先预览将作为新输入的当前结果,应用后切换方向;可撤销一次并恢复原状态。 结果超过 1,048,576 个单位的输入上限时,无法反向转换。

日志里看到的反斜杠加字母 n,不一定就是一个换行。字符串转义把字符的书写形式与真实内容分开:准备接口参数时选择 JSON 转义,处理脚本中的文字常量时选择 JavaScript 转义,避免把两种语法混用。

字符串反转义每次只处理一层。遇到中文、表情或看不见的控制字符,可以先看逐字符表里的码点和 UTF-16 单位数,再决定是否复制或继续还原。表中的条目不是按肉眼看到的字形数量统计。

为什么使用字符串转义工具?

引号属于语法的一部分

字符串转义默认生成带双引号的完整 JSON 字面量。仅正文模式适合已经有外层引号的位置,但仍检查正文是否合法,不会自动删除输入首尾的引号或空格。

原文的引号与换行变成转义引号和换行序列,结果外侧添加外围引号。

一个表情不一定只有一个单位

常见补充平面表情占一个码点、两个 UTF-16 单位。字符表将两者并列显示,也会标记无法配对的代理项,便于排查长度和显示异常。

一个表情在上方对应 D83D 和 DE00 两个 UTF-16 单位,在下方对应 1F600 一个码点。

先核对目标语法

01

确认是否包含外围引号

JSON 固定使用双引号,JavaScript 可选择单引号或双引号。反转义完整字面量时,输入引号必须与所选形式一致;Unicode 独立模式没有外围引号。

02

按任务切换转换时机

自动转换默认开启,编辑后等待 350 毫秒刷新。关闭后显示转换按钮,也可按 Ctrl/Cmd+Enter。输入或选项一旦变化,旧结果立即过期,重新转换成功后才能导出。

03

替换前先看预览

示例、清空和反向转换都先预览再应用,可撤销一次。结果最多预览 20,000 个 UTF-16 单位;逐字符表初始显示 50 项,可展开到 100 项,导出仍使用完整结果。

从书写形式检查真实内容

可读文字与 ASCII 输出

JSON 和 JavaScript 默认保留可读的非 ASCII 字符,需要时可开启全部转义。特殊字符转义仍会处理引号、反斜杠及必要的控制符,不进行 Unicode 归一化。

两种 Unicode 表示

Unicode 转义会编码全部字符,包括 ASCII 和反斜杠。可选每个 UTF-16 单位一个 \uXXXX,或按码点使用 \u{…};解码只接受当前选定形式。

错误指向原始位置

无效序列会在可定位时给出行列信息,帮助查找少写的十六进制数字或悬空反斜杠。失败时不返回自动修复或部分转换的内容。

保留原值的报告

JSON 报告包含输入、输出、原始或还原值、选项及最多 100 条字符预览。字符串以转义形式保存,可保留无法无损写入 UTF-8 文本的孤立代理项。

支持范围与数据边界

严格处理单个 JSON 字符串
只接受标准 JSON 转义及 \uXXXX,拒绝原始 C0 控制字符、未转义双引号、\xHH、\v 和 \u{…}。完整字面量外围可有空格、TAB、CR 和 LF,仅正文模式不裁剪首尾内容。
JavaScript 是明确的语法子集
支持常用转义、\xHH、\uXXXX、\u{…} 及反斜杠续行;\0 后不能接数字。原始 LF 和 CR 不合法,原始 U+2028、U+2029 保留。拒绝未知字符转义、八进制、模板字符串和表达式。
Unicode 不猜测格式
普通文字在解码时保留,但每个反斜杠必须开始选定形式的完整序列,不接受混合格式或 \n。花括号码点数值不能超过 10FFFF;孤立代理值仍保留,不能把它们称作 Unicode 标量值。
孤立代理项不悄悄修复
结果若含孤立代理项,复制与 TXT 下载禁用,使用 JSON 报告保真。若结果已经是 ASCII 转义文本,则可正常导出。粘贴到编辑器时,系统可能改变换行形式。
上限检查与预览分开
输入最多 1,048,576 个 UTF-16 单位,输出最多 4,194,304 个,报告最多 16,777,216 个。超限整体失败;结果预览和字符表截短只影响显示,不截断真实结果。
只转换表示,不执行代码
每次只还原一层,不递归反转义。不执行 JavaScript,不格式化 JSON 对象,不导入文件或抓取网址,也不提供 HTML 清理或脚本嵌入安全保证。

字符串转义常见问题

JSON 字符串有哪些字符必须转义?

双引号、反斜杠及 U+0000–U+001F 控制字符必须转义,例如换行写成 \n。字符串转义默认保留中文等合法 Unicode 字符;开启非 ASCII 转义后,它们也会变成转义表示。

没有外围引号的 JSON 字符串能反转义吗?

可以,选择“仅正文”即可。正文仍必须满足 JSON 字符串语法,例如其中的双引号和换行需要转义。工具不会自动猜测或移除已有引号。

JSON 字符串为何反转义失败?

常见原因是反斜杠后缺少内容、\u 后不足四位十六进制数、出现未转义换行,或混入 \xHH 等 JavaScript 语法。先核对上下文和字符串形式,再根据错误位置修正。

JavaScript 常见转义序列有哪些?

本工具支持 \n、\r、\t、\b、\f、\v、引号、反斜杠,以及 \xHH、\uXXXX 和 \u{…}。还支持续行;\0 后不能跟数字。这里只处理受限字符串语法,不运行程序。

Unicode 转义有什么用途?

可用可见的 ASCII 形式检查难以显示的字符,或向需要此表示的目标传值。UTF-16 形式会把补充平面字符拆成两个代理单位,码点形式则显示一个数值;两者都不改变原值。

发现转义边界问题?

拿一段真实内容试试

用字符串转义检查包含引号、换行和表情的短文本,确认上下文及字符表示后再导出。