当我使用python的struct.pack方法时,我得到一个奇怪的结果。 的代码看起来是这样的:当使用Python的struct.pack方法时得到意想不到的结果
>>> struct.pack('<i', 0x01d1f23a)
结果我想要得到的是转换为小端十六进制地址(“<”)。 编辑: 等价于Perl的(对不起,打印的,不知道的Perl)
#!/usr/bin/perl
my $eip = pack('V',0x01ccf23a);
print "$eip[0]";
print "$eip[1]";
print "$eip[2]";
print "$eip[3]";
结果是:582422041
我需要实现与Python相同的结果。
那么你期望的结果是什么,你取而代之的是什么? – jonrsharpe
你能解释为什么冒号是个问题吗?你用什么输出字符串?你想要一个长度为4的字符串,包含四个字符:chr(0x3a),chr(0xf2),chr(0xd1)和chr(0x01)吗?还是你想要一个长度为16的字符串在打印时看起来像'\ x3a \ xf2 \ xd1 \ x01'? (如果后者,*为什么*?)还是别的? –
嗨马克我刚刚编辑我的问题。我想要的结果是这样的:582422041 –