给定包含二进制数据的变量$foo
,如何在Perl中获取$foo
的十六进制表示?
答案 0 :(得分:12)
如果$foo
是包含任意数据的字符串,请使用unpack:
my $hex = unpack('H*', $foo);
如果它只是一个整数,请使用sprintf:
my $hex = sprintf('%x', $foo); # Or %X if you want upper-case letters
答案 1 :(得分:2)
$ perldoc -f hex
…
To present something as hex,
look into "printf", "sprintf", or "unpack".
==>
$hex = sprintf("%x", $foo);