在这种情况下无法让 perl pack 工作

unable to get perl pack to work in this case

我运行下面的代码

$a=pack("H1H3", "1","abc");
$b=unpack("B*", $a);
print "Got $b \n";

C:\Users\a0875499\Documents>perl abc.pl
Got 000100001010101111000000

我觉得输出不正确。有一个不应该出现的额外“0000”。我正在寻找输出为“0001101010111100”。你知道我错过了什么吗?

pack()'H' 格式组装字节,因此如果您提供奇数个值,它将用空 nybble 填充最后一个字节。

如果我正确理解你想要实现的目标,你可以这样做:

$a = pack("H4", "1abc");

$a = pack("H*", "1abc");