我有一个数组与一些整数,我想把它转换成一个字符串在十六进制格式。这是我使用的代码,它工作正常。我只是想知道是否有更简单的方法来做到这一点。
my @arr = get_tw() ; ##array of integer
for(my $i=0;$i<@arr;$i++){
$arr[$i]= sprintf('%02x',$arr[$i]); ##overwrite with the hex value
}
my $string = join('',@arr); ##build a string from a array
3条答案
按热度按时间e7arh2l61#
map。这避免了中间数组变量,如果你不需要它做任何其他事情。
完整示例:
输出:
cig3rfwq2#
使用pack/unpack:
68de4m5k3#
使用
sprintf
模板的字符串重复操作符: