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

如何将数据库返回的字节格式字符串转换为bytes类型?

将字符串形式的bytes字面量转换为真实bytes类型

方法1:使用ast.literal_eval(推荐)

这是最安全的方案,仅解析Python字面量,无代码执行风险。

import ast

result = "b'\x00\x00\x00\x00\x07\x80\x00\x03'"
a = ast.literal_eval(result)

print(type(a))  # 输出:<class 'bytes'>
print(a)        # 输出:b'\x00\x00\x00\x00\x07\x80\x00\x03'

方法2:手动处理字符串后编码

无需导入模块,手动剥离字面量标识后用latin-1编码转换(该编码可将每个Unicode字符直接映射为对应字节,适配这类二进制转义字符串)。

result = "b'\x00\x00\x00\x00\x07\x80\x00\x03'"
# 去掉开头的"b'"和结尾的"'"
raw_str = result[2:-1]
a = raw_str.encode('latin-1')

print(type(a))  # 输出:<class 'bytes'>
print(a)        # 输出:b'\x00\x00\x00\x00\x07\x80\x00\x03'

避坑提示

  • 禁止使用eval():尽管eval(result)也能得到结果,但它会执行任意代码,若字符串来自不可信来源会引发安全问题。
  • 保证输入格式合规:两种方法都要求输入严格符合Python bytes字面量格式(以b'开头、'结尾,中间是合法字节转义序列)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 05:22:27