Convert bytes to int?
byte, int, python, python-3.x, type-conversion
Solution
Assuming you're on at least 3.2, there's a built in for this:
`int.from_bytes`( `bytes`, `byteorder`, *, `signed=False` )
...
The argument `bytes` must either be a bytes-like object or an iterable producing bytes.
The `byteorder` argument determines the byte order used to represent the integer. If `byteorder` is `"big"`, the most significant byte is at the beginning of the byte array. If `byteorder` is `"little"`, the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder` as the byte order value.
The `signed` argument indicates whether two’s complement is used to represent the integer.
## Examples:
int.from_bytes(b'\x00\x01', "big") # 1
int.from_bytes(b'\x00\x01', "little") # 256
int.from_bytes(b'\x00\x10', byteorder='little') # 4096
int.from_bytes(b'\xfc\x00', byteorder='big', signed=True) #-1024
Problem
I'm currently working on an encryption/decryption program and I need to be able to convert bytes to an integer. I know that: ``` bytes([3]) = b'\x03' ``` Yet I cannot find out how to do the inverse. What am I doing terribly wrong?