python int類型轉換為字節如下,參考官方類庫文檔:
int.
to_bytes
(length, byteorder, *, signed=False)
返回表示一個整數的字節數組。
>>> (1024).to_bytes(2, byteorder='big') b'\x04\x00' >>> (1024).to_bytes(10, byteorder='big') b'\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00' >>> (-1024).to_bytes(10, byteorder='big', signed=True) b'\xff\xff\xff\xff\xff\xff\xff\xff\xfc\x00' >>> x = 1000 >>> x.to_bytes((x.bit_length() + 7) // 8, byteorder='little') b'\xe8\x03'
整數會使用 length 個字節來表示。 如果整數不能用給定的字節數來表示則會引發 OverflowError
。
byteorder 參數確定用於表示整數的字節順序。 如果 byteorder 為 "big"
,則最高位字節放在字節數組的開頭。 如果 byteorder 為 "little"
,則最高位字節放在字節數組的末尾。 要請求主機系統上的原生字節順序,請使用 sys.byteorder
作為字節順序值。
signed 參數確定是否使用二的補碼來表示整數。 如果 signed 為 False
並且給出的是負整數,則會引發 OverflowError
。 signed 的默認值為 False
。