Node.js中如何解码\x转义编码的字符串以获取原始值?
在Node.js中获取十六进制转义字符串的原始值
其实你可能没意识到——你定义的test变量本身就已经是你想要的Pwkmw7TCoQ==了!
在JavaScript/Node.js里,\xXX这种格式是十六进制转义序列,它会直接被解析成对应的ASCII字符:
\x50→ 字符'P'(ASCII码80)\x77→ 字符'w'(ASCII码119)- 以此类推,所有的转义序列都会被Node.js自动转换成对应的字符。
所以你不需要额外的解码操作,直接使用这个变量就可以得到目标字符串。比如运行下面的代码:
const test = '\x50\x77\x6b\x6d\x77\x37\x54\x43\x6f\x51\x3d\x3d'; console.log(test); // 输出: Pwkmw7TCoQ==
如果是想确认这一点,你也可以手动验证每个转义字符对应的结果,或者用Buffer来辅助查看:
const test = '\x50\x77\x6b\x6d\x77\x37\x54\x43\x6f\x51\x3d\x3d'; // 转换成Buffer再转成字符串,结果一致 console.log(Buffer.from(test).toString()); // 同样输出: Pwkmw7TCoQ==
总结一下:这种十六进制转义的字符串在Node.js加载时就已经被解析为原始字符了,直接使用变量即可得到你想要的结果。
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

