⌘K 切换工具
ENCODE & DECODE

JavaScript Hex转义工具

转换JavaScript的十六进制转义序列。

local
js-hex-escape
§01 关于此工具

概述

JavaScript 的字符串字面量可以用十六进制转义表示任何字符:\xNN 对应单个字节,\uNNNN 对应基本多文种平面,\u{NNNNN} 对应更高位的码点。这个工具在文本和这些序列之间双向转换——把非 ASCII 文本嵌进源文件、查看被混淆的字符串,或者排查编码问题时都用得上。反方向的解码会在同一遍扫描里处理这三种形式,所以混着写的字符串也能一次解开。

使用方法

  1. Escape 把纯文本转过去,或选 Unescape 把转义序列解回来。
  2. Text(或 Escaped)字段里输入或粘贴内容。Result 会即时更新。
  3. 在 Unescape 模式下,如果输入没法解析,会出现 Invalid escape sequence 错误。

示例

  • cafécaf\xe9
  • 日本語\u65e5\u672c\u8a9e
  • \u{1f310}🌐

说明

可打印的 ASCII 字符(反斜杠本身除外)原样通过,所以输出仍然是可读的。这是转义,不是加密——任何人都能把它逆回去。解码来源不明的字符串时请记住,结果依旧只是纯文本;这里不会执行任何东西。输出里被替换掉的只有非 ASCII 字符,其余部分保持原样,因此转义之后的字符串大体上仍然看得懂。

FAQ
我的文本会发到服务器吗?
不会。转义和反转义都在浏览器里用普通的 JavaScript 字符串处理完成,不上传也不保存。
工具会产出哪几种转义形式?
可打印 ASCII 保持原样。码点在 0xFF 以内的变成 \xNN,在 0xFFFF 以内的变成 \uNNNN,再往上(emoji、生僻汉字)则变成 ES2015 的 \u{NNNNN} 形式。
它能一次解码全部三种形式吗?
可以。反转义模式在一遍扫描里同时处理 \u{...}、\uNNNN 和 \xNN 序列,所以混杂在一起的输入也能正确解码。