我有一个包含45f5f5ca1997b35bf09b8e0932b0d693967d0608a3c
如何获取该字符串的前16个字节?
答案 0 :(得分:4)
字符串由称为"字符"的元素组成。 (可能是也可能不是字节)。要获取由另一个字符串的前16个字符组成的字符串,可以使用以下命令:
substr($s, 0, 16)
答案 1 :(得分:2)
看起来你需要将十六进制转换为字节。
my $hex = "45f5f5ca1997b35bf09b8e0932b0d693967d0608a3c";
my @bytes = map { hex } $hex =~ m/(..)/g;
use Data::Dumper;
print Dumper(\@bytes);
print join('', map { sprintf("%x", $_) } @bytes);
可以自由地将数组大小限制为16个元素(substr($hex, 0, 16*2)
)。