以前も似た問い合わせがありましたので、以下を参考にしていただければと思います。 ■n文字目=mバイト目 Mod 64 n文字目はmバイト目を64で割った余りを取ることを意味します。 ■n+1文字目=(int(mバイト目/64)*16)+(m+1バイト目 Mod 16) mバイト目を64で割った商を16倍し、その後m+1バイト目を16で割った余りを足します。 ■n+2文字目=(int(m+2バイト目/64)*16)+int(m+1バイト目/16) m+2バイト目を64で割った商を16倍し、その後m+1バイト目を16で割った商を足します。 ■n+3文字目=m+2バイト目 Mod 64 m+2バイト目を64で割った余りを取ります。 nとmはそれぞれ1から始まって一組変換する毎にnは4ずつ進み、mは3ずつ進んで変換していくので、 nは1,5,9,13,17… mは1,4,7,10,13… と代入する値が増えていきます。
各文字毎の計算式にしていくと、 1文字目=1バイト目 Mod 64 2文字目=(int(1バイト目/64)*16)+(2バイト目 Mod 16) 3文字目=(int(3バイト目/64)*16)+int(2バイト目/16) 4文字目=3バイト目 Mod 64 5文字目=4バイト目 Mod 64 6文字目=(int(4バイト目/64)*16)+(5バイト目 Mod 16) 7文字目=(int(6バイト目/64)*16)+int(5バイト目/16) 8文字目=6バイト目 Mod 64 9文字目=7バイト目 Mod 64 10文字目=(int(7バイト目/64)*16)+(8バイト目 Mod 16) 11文字目=(int(9バイト目/64)*16)+int(8バイト目/16) 12文字目=9バイト目 Mod 64 13文字目=10バイト目 Mod 64 14文字目=(int(10バイト目/64)*16)+(11バイト目 Mod 16) 15文字目=(int(12バイト目/64)*16)+int(11バイト目/16) 16文字目=12バイト目 Mod 64 と順々に続いていきます。