尝试解码图片,对这些属性有一些问题:
headerdata = struct.unpack("4s"+\
"I"+\
str(Header.MAX_FORMAT_LENGTH)+"s",
data[:4+4+Header.MAX_FORMAT_LENGTH].encode())
header.magicnum = headerdata[0]
header.size = headerdata[1]
header.fformat = headerdata[2].strip("\x00").decode()
我知道有encode()
和decode()
功能的内容,但无法弄清楚它是如何与我合作的。
出现此错误:
header.fformat = headerdata [2] .strip(" \ x00")。decode() TypeError:需要类似字节的对象,而不是' str'
我做错了什么?
答案 0 :(得分:0)
由于headerdata
包含bytes
,strip
的参数也必须为bytes
:
headerdata[2].strip(b"\x00").decode()
请注意,值0
有点特殊,在解码bytes对象时,它会终止你的字符串。