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

在Node.js中如何将字节数组转换为编码后的UTF8格式

解决方案

Node.js 中与 Python bytes() 功能对标的原生接口是内置的 Buffer 类,使用它即可快速完成字节数组的转换,操作方法如下:

  • 直接调用 Buffer.from() 传入目标字节数组,即可得到等效的字节序列对象,和 Python 中 bytes(byte_arr) 的效果完全一致
  • 如果需要得到你示例中带 \x 转义标识的字符串格式,额外对字节做遍历格式化即可

代码示例1:基础转换为UTF8字符串

const byteArr = [0, 1, 66, 119, 208];
// 生成字节序列对象,等效Python的bytes(byte_arr)
const buffer = Buffer.from(byteArr);
// 转换为UTF8编码字符串
const utf8Str = buffer.toString('utf8');
console.log(utf8Str);

代码示例2:输出你要求的\x转义格式结果

如果需要完全匹配你给出的\x00\x01Bw\xd0输出格式,可以用以下实现:

const byteArr = [0, 1, 66, 119, 208];
const buffer = Buffer.from(byteArr);

const escapedResult = Array.from(buffer).map(byte => {
  // 可打印的ASCII范围字符直接输出,其余字符转成\x前缀的十六进制表示
  if (byte >= 32 && byte <= 126) {
    return String.fromCharCode(byte);
  }
  return '\\x' + byte.toString(16).padStart(2, '0');
}).join('');

console.log(escapedResult); // 输出:\x00\x01Bw\xd0

Buffer本身支持任意编码转换、字节截取、拼接等操作,完全可以覆盖你对应Python bytes的所有使用场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 20:45:05