在这种情况下无法让 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");
我运行下面的代码
$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");