Python 如何将此shell代码字符串转换为整数

Python 如何将此shell代码字符串转换为整数,python,Python,我正在学习一门信息安全课程,有一个我需要理解的代码元素: "\x66\x68\xb0\xef". # PORT 我的理解是,这应该转化为大于1024的整数值,但我不知道如何计算 我可以看到此字符串包含分隔的十六进制值,因此尝试打印由\x分隔的各个十六进制值,并获得以下结果: >> print (int('66',16)) 102 >>> print (int('68',16)) 104 >>> print (int('b0',16)) 176 &

我正在学习一门信息安全课程,有一个我需要理解的代码元素:

"\x66\x68\xb0\xef". # PORT
我的理解是,这应该转化为大于1024的整数值,但我不知道如何计算

我可以看到此字符串包含分隔的十六进制值,因此尝试打印由\x分隔的各个十六进制值,并获得以下结果:

>> print (int('66',16))
102
>>> print (int('68',16))
104
>>> print (int('b0',16))
176
>>> print (int('ef',16))
239

显然,这给了我四个独立的值,所以这不是我需要的,这是一个单一的整数值

您可以使用以下方法解包为无符号整数:

他是你的朋友。它将整数打包为字节,将字节打包为整数,如果这是一种大端表示,则应执行以下操作:

import struct
as_int = struct.unpack('>I', the_str)[0]
对于小恩迪安:

import struct
as_int = struct.unpack('<I', the_str)[0]
导入结构
as_int=struct.unpack('
import struct
as_int = struct.unpack('<I', the_str)[0]