There must be a good reason for the following (tested on 1.4.5, 1.4.3,
ix86/axp):

p "\0\0\0\0".unpack("b16b1b2") # -> ["0000000000000000", "0", "00"]
p "\0\0\0\0".unpack("b17b1b1") # -> ["00000000000000000", "0", ""]

I can't find it though :(


thanks, cu Pixel.


PS: it also happens in Perl, i may misunderstood something?

print join ",", unpack("b16b1b2", "\0\0\0\0"), "\n";
print join ",", unpack("b17b1b1", "\0\0\0\0"), "\n";