a = 32780
b = a.to_bytes(8, sys.byteorder) # int --> bytes 第一个参数表示转化结果bytes的位数, 第二个参数表示 大端or小端
ba = bytearray(b) # bytes --> bytearray
bal = list(ba) # bytearray --> list
ba_r = bytearray()
for i in range(8):
ba_r.append(bal[i]) # list --> bytearray
b_r = bytes(ba_r) # bytearray --> bytes
a_r = int.from_bytes(ba_r, sys.byteorder) # bytearray --> int
如:
r2=b"\x2e\xe8\x69\xac\xb3\x41\x53\xe8\x34\x51\x0d\x60\x6d\xfc\x1e\xa0
print(type(r2)) #=><class 'bytes'>
b开头表示r2是一个class bytes,并不是bytearray,需要使用bytearray(r2)将其转换。
2,字符串转bytes直接使用encode,bytes转字符串直接使用decode