我试图运行这段代码,并且不断给出错误说“没有编码的字符串参数”
ota_packet = ota_packet.encode('utf-8') + bytearray(content[current_pos:(final_pos)]) + '\0'.encode('utf-8')
任何帮助?
答案 0 :(得分:57)
您正在将字符串对象传递给bytearray()
:
bytearray(content[current_pos:(final_pos)])
您需要提供编码参数(第二个参数),以便可以将其编码为字节。
例如,您可以将其编码为UTF-8:
bytearray(content[current_pos:(final_pos)], 'utf8')
可选的 source 参数可用于以几种不同的方式初始化数组:
- 如果是字符串,您还必须提供编码(以及可选的错误)参数;
bytearray()
然后使用str.encode()
将字符串转换为字节。
答案 1 :(得分:0)
byteObject = b'\x18,\xa3\xf0A\x93*<bAd\x15K.A\xba'
print(byteObject)
print('-----------asbytearray----------')
print('-------As a string------------------')
o = base64.b64encode(bytes(str(byteObject), 'utf-8'))
print(o.decode("utf-8"))`enter code here`
print('--------Nonce as a string------------------')