perl 数字<->字符串及其进制间的转换

来源:互联网 发布:淘宝优惠劵机器人 编辑:程序博客网 时间:2024/06/05 18:29

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

0 0