【发布时间】:2021-09-16 11:55:06
【问题描述】:
我发现了类似的问题here,但它缺少有关“二进制”编码的信息。 TextEncoder(似乎)不是 Deno 中“二进制”的等价物。
这是一个例子:
德诺
const str = "ºRFl¶é(÷LõÎW0 Náò8ìÉPPv\0";
const bytes = new TextEncoder().encode(str);
console.log(crypto.createHash("sha256").update(bytes).digest("hex"));
输出:65e16c433fdc795b29668dc1d189b79f2b809dc4623b03c0b9c551bd83d67069
节点
const str = "ºRFl¶é(÷LõÎW0 Náò8ìÉPPv\0";
const buffer = Buffer.from(str, "binary");
console.log(crypto.createHash("sha256").update(buffer).digest("hex"));
节点输出:fb6d4a2f86e91b13fe2d5a6d2e6ebb9b6f66e18a733b68acbf9ac3c5e56571d0
【问题讨论】:
标签: javascript node.js deno