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

如何将十六进制表示的字节字符串转换为Uint8Array?

将JavaScript转义字节字符串转换为Uint8Array的方法

直接转换现有字符串

你的字符串中的转义序列都是单字节的\xXX格式,每个字符对应的Unicode码点与原始字节值一致,可以直接遍历字符串生成Uint8Array:

const s = "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8bV23J15O4\xb14\xb1H61417KKLL\xb50L5U\x8a\x05\x00\xf6\xaa\x8e.\x1c\x00\x00\x00";
const uint8Array = new Uint8Array(s.length);
for (let i = 0; i < s.length; i++) {
  uint8Array[i] = s.charCodeAt(i);
}

更可靠的跨端方案(结合Python后端)

考虑到该字节流来自Python后端,推荐在Python端直接返回Base64编码后的字符串,再在JavaScript端解码转换,避免转义字符可能带来的编码问题:

Python端(调整输出)

import base64
raw_bytes = b'\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8bV23J15O4\xb14\xb1H61417KKLL\xb50L5U\x8a\x05\x00\xf6\xaa\x8e.\x1c\x00\x00\x00'
encoded_str = base64.b64encode(raw_bytes).decode('utf-8')
# 将encoded_str返回给前端

JavaScript端(处理Base64字符串)

// 假设从后端获取到的Base64字符串为encodedStr
const binaryStr = atob(encodedStr);
const uint8Array = new Uint8Array(binaryStr.length);
for (let i = 0; i < binaryStr.length; i++) {
  uint8Array[i] = binaryStr.charCodeAt(i);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 12:36:13