Eug*_*ash 26
my $bytes = pack "H*", $hex;
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅perlpacktut.
步骤是:
例如:
use strict;
use warnings;
my $string = 'AA55FF0102040810204080';
my @hex = ($string =~ /(..)/g);
my @dec = map { hex($_) } @hex;
my @bytes = map { pack('C', $_) } @dec;
Run Code Online (Sandbox Code Playgroud)
或者,更紧凑地表达:
use strict;
use warnings;
my $string = 'AA55FF0102040810204080';
my @bytes = map { pack('C', hex($_)) } ($string =~ /(..)/g);
Run Code Online (Sandbox Code Playgroud)