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

Node的Buffer.from(string, 'binary')对应的Deno等效实现是什么?

Deno 等效 Node.js Buffer.from(string, "binary") 实现方案

原理说明

TextEncoder 采用 UTF-8 编码规则 转换字符串,对于码值大于 0xFF 的字符会生成多字节序列,和 Node.js binary 编码逻辑完全不同。
Node.js 中 Buffer.from(string, "binary") 的核心逻辑是:逐字符取 Unicode 码点的低 8 位作为单个字节,等价于 Latin-1 编码映射,不会做多字节转换。

等效实现代码

// Deno 侧完全等效的转换函数
function bufferFromBinary(str) {
  const uint8 = new Uint8Array(str.length);
  for (let i = 0; i < str.length; i++) {
    uint8[i] = str.charCodeAt(i) & 0xFF;
  }
  return uint8;
}

验证测试

替换示例代码中的 TextEncoder 逻辑即可:

const str = "ºRFl¶é(÷LõÎW0 Náò8ìÉPPv\0";
const bytes = bufferFromBinary(str);
console.log(crypto.createHash("sha256").update(bytes).digest("hex"));

运行后输出结果为 fb6d4a2f86e91b13fe2d5a6d2e6ebb9b6f66e18a733b68acbf9ac3c5e56571d0,和 Node.js 侧输出完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 20:48:04