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

更换Requests库后,如何通过解码将响应转换为有效图片?

解决方案

方法1:用ast.literal_eval解析转义字符串

如果你的response.text是类似Python字节字面量的格式(包含\xXX转义符,甚至带b'前缀),这个方法能可靠还原原始字节:

import ast

# 若response.text前后有多余引号,先去除
clean_content = response.text.strip('"')
raw_bytes = ast.literal_eval(clean_content)
with open("image.jpg", "wb") as fh:
    fh.write(raw_bytes)

方法2:正确处理Unicode转义还原字节

如果response.text是原始字节的Unicode转义形式(每个字节被转义为\xXX),用latin-1编码确保字节无损还原:

# 先解码Unicode转义,再用latin-1编码回原始字节
raw_bytes = response.text.encode('utf-8').decode('unicode_escape').encode('latin-1')
with open("image.jpg", "wb") as fh:
    fh.write(raw_bytes)

为什么之前的尝试失效?

你之前的代码response.text.encode().decode('unicode_escape').encode()会先把字符串转成UTF-8字节,解码转义后又转回UTF-8,这会破坏部分单字节二进制数据。而latin-1是单字节编码,能完美映射0-255的所有字节值,不会丢失原始数据。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 07:19:58