将字节转换为int?
问题内容:
我目前正在开发一个加密/解密程序,我需要能够将字节转换为整数。我知道:
bytes([3]) = b'\x03'
但是我找不到如何进行逆运算的方法。我到底在做什么错?
问题答案:
假设您至少使用3.2,则有一个内置功能:
int.from_bytes ( 字节,字节序,*,带符号= False )
…
参数字节必须是类似字节的对象或可迭代的生成字节。
byteorder参数确定用于表示整数的字节顺序。如果byteorder为“
big”,则最高有效字节在字节数组的开头。如果字节序为“小”,则最高有效字节在字节数组的末尾。要请求主机系统的本机字节顺序,请使用sys.byteorder作为字节顺序值。带符号的自变量指示是否使用二进制补码表示整数。
## 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