Search code examples
pythonintbyte

converting large int list to byte string python


I need to convert int list into a byte string but I don't know how. I can't use bytes() because the values are too large.

bytes([152710136, 76354857, 38177353, 2252736081, 1126368238])

I get this error:

ValueError: bytes must be in range(0, 256)

The expected value is:

b'\xc4\xb7\x86\x17\xcd'

Solution

  • You can use .to_bytes to return an array of bytes representing an integer. Note: This works only in python 3.1 and above.

    For example:

    >>> (1024).to_bytes(2, byteorder='big')
    b'\x04\x00'