in reply to Ascending vs descending bit order

A typical use for pack and unpack is when you have to read (binary) stuff that was written by some other program (for instance, a C program), or you need to write stuff that's going to be read by another program. That other program might not be on the same machine/architecture. So, if you need to write some bit string for another program, and that program expects bits in a byte to be ascending, you'd use 'b'; if that program expects bits in a byte to be descending, you'd use 'B'.

Of course, if you control both the reading and the writing program, use whatever you feel like.

Abigail