按 ⌘K 切换工具
ENCODE & DECODE
JavaScript Hex转义工具
转换JavaScript的十六进制转义序列。
js-hex-escape
§01 关于此工具
概述
JavaScript 的字符串字面量可以用十六进制转义表示任何字符:\xNN 对应单个字节,\uNNNN 对应基本多文种平面,\u{NNNNN} 对应更高位的码点。这个工具在文本和这些序列之间双向转换——把非 ASCII 文本嵌进源文件、查看被混淆的字符串,或者排查编码问题时都用得上。反方向的解码会在同一遍扫描里处理这三种形式,所以混着写的字符串也能一次解开。
使用方法
- 选 Escape 把纯文本转过去,或选 Unescape 把转义序列解回来。
- 在 Text(或 Escaped)字段里输入或粘贴内容。Result 会即时更新。
- 在 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 序列,所以混杂在一起的输入也能正确解码。