擅长:python、mysql、java
<p>实际上,您可以使用内置的<code>zip</code>函数。它允许您一次循环两个iterable,这适合您的情况。在</p>
<pre><code>plaintext = []
for key_byte, ciphertext_byte in zip(a1, a2):
plaintext.append(chr(ord(key_byte) ^ ord(ciphertext_byte)))
print ''.join(plaintext)
</code></pre>
<p>如果密文中有多余的字节,它们将被消除。如果密钥中有额外的字节,则不会使用它们。在</p>
<hr/>
<p>我认为你是在实施一次性垫款。我建议您在此处使用<a href="http://docs.python.org/2/library/functions.html#bytearray" rel="nofollow">^{<cd2>}s</a>:</p>
^{pr2}$