我將3個字母轉換爲它們的ASCII二進制表示法,然後將第一個字母增加16個位置,將第二個字母增加8個位置,最後一個字符停留在原來的位置,以便在配置24位數據流時, 8位表示第一個字母,下一個8表示中間字母,最後一個表示最後一個字母。這裏是我的代碼:Python 24位流沒有提供正確的值?
# 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
做正確的事。怎麼了?