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
In reply to Re^6: pack/unpack 6-bit fields. (insanity)
by tye
in thread pack/unpack 6 bit fields.
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |