Я преобразую 3 буквы в двоичную запись ASCII, а затем увеличиваю первую букву на 16 позиций, вторую - на 8 позиций, а последняя остается на месте, так что при настройке 24-битного потокапервые 8 битных мест представляют первую букву, следующие 8 - среднюю букву, а последние - последнюю букву.Вот мой код:
# create a block for the word 'Ozy'
bk1 = (ord('O')<<16) + (ord('z')<<8) + (ord('y'))
# Now take off the encryption for the block
cbk1 = ((chr(bk1>>16)) + (chr(bk1>>8)) + (chr(bk1&0xFF)))
# output of cbk1 is: 'O\u4f7ay'
Так вот в чем проблема, первая буква была расшифрована как O
, последняя буква была правильной, а также y
, но по какой-то причине это несделать правильную вещь для z
.Что не так?