$ perl #!perl -lw $x = "\x55\xAA\x55\xAA";; substr( $x, $_, 1 ) = chr( ord( substr( $x, $_, 1 )) << 1 ) for 0 .. 3;; my $ox = $x; use bytes; print unpack 'b*', $x;; print unpack 'U0b*', $x;; print unpack 'C0b*', $x;; __END__ 0100001101010101101000110010100101000011010101011010001100101001 11000011010000010100001101010101110000111010000101000011001010011100001101000001010000110101010111000011101000010100001100101001 0100001101010101101000110010100101000011010101011010001100101001