You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中b'字符串'的Node.js等效实现?给定Salt的转换问题

Python Salt的Node.js等效写法

你的问题出在编码解析方式的误解上:

  • Python的b"xxx"语法是将字符串中的每个字符转换为对应的ASCII/UTF-8字节(比如字符"0"对应字节0x30)
  • 你之前用Buffer.from(..., "hex")是把字符串当成十六进制字节序列解析(比如字符串"00"对应单个字节0x00),这和Python的行为完全不同。

正确的Node.js写法

直接使用默认编码(UTF-8)转换字符串为Buffer,和Python的b""行为一致:

const salt = Buffer.from("0000000000000000004d6ec16dafe9d8370958664c1dc422f452892264c59526");

验证一致性

  • Python侧验证代码:
salt = b"0000000000000000004d6ec16dafe9d8370958664c1dc422f452892264c59526"
# 打印前5个字节,对应字符"0"的ASCII码48
print(list(salt[:5]))  # 输出: [48, 48, 48, 48, 48]
  • Node.js侧验证代码:
const salt = Buffer.from("0000000000000000004d6ec16dafe9d8370958664c1dc422f452892264c59526");
// 打印前5个字节,和Python输出完全一致
console.log([...salt.slice(0, 5)]);  // 输出: [48, 48, 48, 48, 48]

内容的提问来源于stack exchange,提问作者Filipe Aleixo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 14:05:23