繁体   English   中英

UnicodeDecodeError:“utf-8”编解码器无法解码 position 中的字节 0x89 0:起始字节无效。 如何修复

[英]UnicodeDecodeError: 'utf-8' codec can't decode byte 0x89 in position 0: invalid start byte. How to fix it

当我运行此代码时出现错误:

    print(data.decode("utf-8"))
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x89 in position 0: invalid start byte

我的代码:

import http.client
import json
from dotenv import load_dotenv
import os

load_dotenv()

conn = http.client.HTTPSConnection("api.remove.bg")
apikey = os.getenv('apikey')
imageurl = 'https://www.remove.bg/example-hd.jpg'
payload = json.dumps({
  "image_file_b64": "",
  "image_url": imageurl,
  "size": "preview",
  "type": "auto",
  "type_level": "1",
  "format": "auto",
  "roi": "0% 0% 100% 100%",
  "crop": False,
  "crop_margin": "0",
  "scale": "original",
  "position": "original",
  "channels": "rgba",
  "add_shadow": False,
  "semitransparency": True,
  "bg_color": "",
  "bg_image_url": ""
})
headers = {
  'X-API-Key': apikey,
  'Content-Type': 'application/json'
}
conn.request("POST", "/v1.0/removebg", payload, headers)
res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))

如何解决?

我也尝试这样做,但没有帮助。 但是错误已经改变了。

如果我更换这个

print(data.decode("utf-8"))

有了这个

print(data)

我有这个

根据他们的API 文档,响应内容是结果图像。 所以你不应该像文本一样尝试解码它。
只需with open("image.png", "w") as file: file.write(data)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM