http://qs321.pair.com?node_id=384125


in reply to Re^5: pack/unpack 6-bit fields. (Different types of sanity)
in thread pack/unpack 6 bit fields.

My numbers look correct to me.

print unpack 'B*', 'twelve bytes'; ## hand spaced 001011 101110 111010 100110 001101 100110 111010 100110 000001 000100 011010 011110 001011 101010 011011 001110

You show code containing 'B*' but the bits that you show are from using 'b*'. That is why you can match the 'b*' case against it.

Trying to match the 'B*' against that string gives one of the less-sane results I mentioned (where the bit orders are mismatched).

To be extra clear, using 'B*' would result in each group of 8 bits being reversed (it doesn't reverse the whole bit string), which results in different 6-bit chunks not just reversed 6-bit chunks (so neither of your cases cover it).

- tye