在Perl中,如何将二进制字符串转换为整数?

时间:2010-12-15 22:10:37

标签: perl string binary

我有一个从二进制文件中读取的四字节字符串,它应该表示一个整数。 我如何避免整数?

示例:

my $s = '\xa8e2~';
my $i = stoi($s);
printf "%X", $i;  #gives "0x7e3265a8"

C中的解决方案很简单:

fread(&i,4,1,fp);

2 个答案:

答案 0 :(得分:6)

$i = unpack("s", $s)可能有效,但它取决于有符号/无符号和字节顺序,因此您可能会在此处结束:http://perldoc.perl.org/perlpacktut.html#Integers

答案 1 :(得分:3)