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

如何将Python3 encode()方法的编码结果保存为字符串?

解决方法

你需要的是获取bytes对象的字面量转义序列字符串,而非还原原字符串或直接转换bytes为字符串。可以通过以下方式实现:

方案:利用repr()切片提取

repr()函数会返回bytes对象的标准字面量表示(即b'xxx'格式),只需去掉首尾的b'和'部分就能得到目标字符串:

toto = 'récépissé.pdf'.encode('utf-8')
# 提取中间的转义序列字符串
target_str = repr(toto)[2:-1]

print(target_str)
# 输出: r\xc3\xa9c\xc3\xa9piss\xc3\xa9.pdf
# 查看字符串的实际表示(确认转义序列正确)
print(repr(target_str))
# 输出: 'r\\xc3\\xa9c\\xc3\\xa9piss\\xc3\\xa9.pdf'

原理说明

  • str(toto)会返回带b'前缀的字符串(如"b'r\xc3\xa9c\xc3\xa9piss\xc3\xa9.pdf'"),不符合需求;
  • toto.decode('utf-8')会将bytes解码回原Unicode字符串('récépissé.pdf'),也不是你要的结果;
  • repr(toto)返回bytes的官方字面量形式,切片[2:-1]精准去掉了开头的b'和结尾的',正好得到你需要的转义序列字符串,可直接用于Dropbox API的请求头传递。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 20:06:22