perl中进制间的转换: http://blog.sina.com.cn/s/blog_3f6403290100qty6.html
Perl 数值 字符串 进制转换:http://hi.baidu.com/faicker/blog/item/a35e5ccba02fa488c817685c.html
#1、进制间的转换:
#1)八、十六进制->十进制
print oct('0x10'), "\n"; #16
print hex('0x10'), "\n"; #16
print oct('10'), "\n"; #8
print hex('10'), "\n"; #16
print hex(10), "\n"; #16
注意:
A)print oct(0x10), "\n"; #14
print hex(0x10), "\n"; #22
因为0x10不是字符串,或者认为是字符串“16”;
B)hex只能处理32位的数据,如果数据大小超过了32位,就会溢出了。解决的办法是使用Math包。
http://hi.baidu.com/mckeyzhang/blog/item/762d0b589dfb19d79d82043b.html
#2)十进制->八、十六进制
printf("%d\n", hex("10"));#16
printf("%x\n", 10); #a
#2、机器码串->数字串
my $temp="\xAB\xCD\xEF";
print unpack('H*', $temp),"\n"; #abcdef