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

如何将合法CBOR字符串转换为CBOR字节以支持cbor2.loads解析?

解决CBOR字符串转可解析字节的问题

你的问题出在这个字符串是Python字节对象的字符串表示形式,不是原始字节的UTF-8编码,所以bytes()或.encode('utf-8')这类方法只会把字符串本身转成字节,而不是还原出原始的CBOR字节数据。

直接用ast.literal_eval就能解决:

  • 它会安全解析Python字面量,把这个字符串转换成真实的bytes对象
  • 转换后的字节就能被cbor2.loads正常解析

示例代码:

import ast
import cbor2

# 你的原始CBOR字符串
cbor_str = "b'\xa1bip\x186'"
# 解析为真实的bytes对象
cbor_bytes = ast.literal_eval(cbor_str)
# 解析CBOR数据
parsed_data = cbor2.loads(cbor_bytes)
print(parsed_data)  # 输出: {'ip': 186}

注意:ast.literal_eval比eval安全,不会执行任意代码,适合处理这种字面量字符串。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 22:50:54