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。
