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