私は、Python 3へのpython 2スクリプトを変換しようとしているが、ここではスクリプトです:Pythonの3 - TypeError例外:サポートされていないオペランドのタイプ(複数可)について - : 'int型' と 'str' は
def encode(key, clear):
enc = []
for i in range(len(clear)):
key_c = key[i % len(key)]
enc_c = chr(ord(clear[i] + key_c) % 256)
enc.append(enc_c)
return base64.urlsafe_b64encode("".join(enc))
def decode(key, enc):
dec = []
enc = base64.urlsafe_b64decode(enc)
for i in range(len(enc)):
key_c = key[i % len(key)]
dec_c = chr((256 + enc[i] - key_c) % 256)
dec.append(dec_c)
return "".join(dec)
私はそれを実行する、それは私に次のエラーを与える:
Traceback (most recent call last):
File "./script", line 132, in <module>
payload=decode(p,payload)
File "./script", line 22, in decode
dec_c = chr((256 + enc[i] - key_c) % 256)
TypeError: unsupported operand type(s) for -: 'int' and 'str'
私はこれを修正する必要がありますか?すみません、私はPythonを初めて使っています。
'dec_c = chr((256 + int(enc [i]) - key_c)%256)' – PRMoureu