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

如何解析客户端返回本地状态中的bytes值并还原为二进制数据?

将Bytes值转换回二进制数据的实现方法

首先得明确你拿到的「客户端返回的bytes值」具体形式:是Base64/十六进制这类编码后的字符串,还是对应语言原生的字节类型(比如Python的bytes、Java的byte[])。以下是几种主流语言的实现方案:

Python

如果是编码后的字符串(比如Base64),先解码成bytes类型,它本身就是二进制数据:

import base64

# 模拟客户端返回的Base64格式bytes字符串
client_bytes_str = "SGVsbG8gV29ybGQh"
# 解码得到二进制数据(bytes类型)
binary_data = base64.b64decode(client_bytes_str)

# 如果客户端直接返回的是bytes对象(比如requests响应的content)
# 无需额外转换,直接用这个对象就是二进制数据
# binary_data = response.content

JavaScript

浏览器/Node.js通用(Base64字符串转二进制)

// 客户端返回的Base64字符串
const clientBytesStr = "SGVsbG8gV29ybGQh";
// 转换为Uint8Array(二进制数据)
const binaryData = Uint8Array.from(atob(clientBytesStr), c => c.charCodeAt(0));

处理fetch返回的二进制数据

async function fetchBinaryData() {
  const res = await fetch('/your-api-endpoint');
  // 直接获取ArrayBuffer格式的二进制数据
  const arrayBuffer = await res.arrayBuffer();
  const binaryData = new Uint8Array(arrayBuffer);
}

Java

import java.util.Base64;

public class BytesConverter {
    public static void main(String[] args) {
        // 客户端返回的Base64编码字符串
        String clientBytesStr = "SGVsbG8gV29ybGQh";
        // 解码得到二进制byte数组
        byte[] binaryData = Base64.getDecoder().decode(clientBytesStr);

        // 如果客户端直接返回byte[](比如HTTP响应体)
        // byte[] binaryData = httpResponse.getBody();
    }
}

关键提示

  • 如果拿到的已经是语言原生的字节类型(比如Python的bytes、Java的byte[]),那它本身就代表二进制数据,直接用来读写文件、解析协议即可,不需要额外转换。
  • 如果是十六进制编码的字符串,替换对应解码方法即可(比如Python用bytes.fromhex(),Java用Hex.decodeHex())。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 16:48:58