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

如何将Python bytes类型转换为str或JSON格式?

将Python字节码转换为字符串或JSON格式的方法

一、转换为字符串

根据字节码的性质,有两种常用处理方式:

  1. 直接解码为文本字符串
    如果你的字节码是文本类编码(比如latin-1,它能映射所有字节值到Unicode字符),可以直接用decode()方法:
byte_data = b'x\xda\x04\xc0\xb1\r\xc4 \x0c\x85\xe1]\xfe\x9a\x06\xae\xf36\'B\x11\xc9J$?\xbbB\xec\x9eo\xb3"\xde\xc0\x9ero\xc4Ryb\x1b\xe5?K\x18\xaa9\x97\xc4i\xdc\x17\xd6\xc7\xaf\x8f\xf3\x05\x00\x00\xff\xff l\x12l'
str_data = byte_data.decode('latin-1')
print(str_data)

这种方式会把每个字节直接转成对应Unicode字符,但如果字节码是二进制数据(比如加密内容、序列化对象),可能出现乱码。

  1. 转换为Base64字符串(推荐用于二进制数据)
    如果字节码是二进制内容,转成Base64字符串能避免乱码,且适合存储和传输:
import base64
byte_data = b'x\xda\x04\xc0\xb1\r\xc4 \x0c\x85\xe1]\xfe\x9a\x06\xae\xf36\'B\x11\xc9J$?\xbbB\xec\x9eo\xb3"\xde\xc0\x9ero\xc4Ryb\x1b\xe5?K\x18\xaa9\x97\xc4i\xdc\x17\xd6\xc7\xaf\x8f\xf3\x05\x00\x00\xff\xff l\x12l'
base64_str = base64.b64encode(byte_data).decode('utf-8')
print(base64_str)

二、转换为JSON格式

JSON不支持直接序列化字节对象,需要先把字节转成字符串,再用json.dumps()处理:

  1. 基于Base64字符串的JSON序列化
    适合二进制数据,能完全保留原始信息:
import json
import base64

byte_data = b'x\xda\x04\xc0\xb1\r\xc4 \x0c\x85\xe1]\xfe\x9a\x06\xae\xf36\'B\x11\xc9J$?\xbbB\xec\x9eo\xb3"\xde\xc0\x9ero\xc4Ryb\x1b\xe5?K\x18\xaa9\x97\xc4i\xdc\x17\xd6\xc7\xaf\x8f\xf3\x05\x00\x00\xff\xff l\x12l'
base64_str = base64.b64encode(byte_data).decode('utf-8')
json_result = json.dumps({'content': base64_str})
print(json_result)
  1. 基于解码文本的JSON序列化
    如果字节码是文本内容,可先解码再序列化:
import json

byte_data = b'x\xda\x04\xc0\xb1\r\xc4 \x0c\x85\xe1]\xfe\x9a\x06\xae\xf36\'B\x11\xc9J$?\xbbB\xec\x9eo\xb3"\xde\xc0\x9ero\xc4Ryb\x1b\xe5?K\x18\xaa9\x97\xc4i\xdc\x17\xd6\xc7\xaf\x8f\xf3\x05\x00\x00\xff\xff l\x12l'
str_data = byte_data.decode('latin-1')
json_result = json.dumps({'content': str_data})
print(json_result)

注意事项

  • 若不确定字节码的原始编码,优先使用Base64方式,确保数据完整性。
  • 如果明确字节码是特定编码(如UTF-8),替换decode()中的编码参数即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 22:15:39