-4

base64 形式でエンコードされた以下の反転された複数行の文字列をデコードしようとしています。

LnNlbHBtYXhlIGVzdSBvdCBlZXJmIGxlZUYgLnNldGlzYmV3IGNpZmZhcnQgaGdpaCBubyBub2l0YXNpbGFtcm9uZWQgZm8gdHBlY25vYyBlaHQgZWJpcmNzZUQgLjQ= ZWxpZICABlbm8gbmkgZWIgdpaXYgN1

s = 'ZWxpZiBlbm8gbmkgZWIgdHN1TSApaXYgICAg'
s = s.decode('base64', 'strict')

print s[::-1]

上記の方法で正しい文字列を取得できますが、文字列を手動で変更する必要があります。

助けてください。

4

1 に答える 1

2

OPのコメントから:

list = ['LnNlbHBtYXhlIGVzdSBvdCBlZXJmIGxlZUYgLnNldGlzYmV3IGNpZmZhcnQgaGdpaCBubyBub2l0YXNpbGFtcm9uZWQgZm8gdHBlY25vYyBlaHQgZWJpcmNzZUQgLjQ=', 'ZWxpZiBlbm8gbmkgZWIgdHN1TSApaXYgICAg', 'c25vaXRhY2lmaWNlcHMgOC1QRVAgdGVlbSB0c3VNICl2ICAgIA==', 'Ni4yIG5vaHR5UCBodGl3IGtyb3cgdHN1TSApdmkgICAg', 'c2VsdWRvbSByZWh0byB5YiBlbGJhdHJvcG1pIGViIGRsdW9ocyBzc2FsQyApaWlpICAgIA==']
s = ''.join(list)
s = s.decode('base64', 'strict')
print (s[::-1])

このjoin操作はすべての文字列を結合しますが、最初の文字列のみが翻訳されます。これは、Base 64 文字列をデコードするときに、最初の 1 文字または 2=文字を超える文字列がすべて無視されるためです。結合する代わりに、次を繰り返します。

list = ['LnNlbHBtYXhlIGVzdSBvdCBlZXJmIGxlZUYgLnNldGlzYmV3IGNpZmZhcnQgaGdpaCBubyBub2l0YXNpbGFtcm9uZWQgZm8gdHBlY25vYyBlaHQgZWJpcmNzZUQgLjQ=', 'ZWxpZiBlbm8gbmkgZWIgdHN1TSApaXYgICAg', 'c25vaXRhY2lmaWNlcHMgOC1QRVAgdGVlbSB0c3VNICl2ICAgIA==', 'Ni4yIG5vaHR5UCBodGl3IGtyb3cgdHN1TSApdmkgICAg', 'c2VsdWRvbSByZWh0byB5YiBlbGJhdHJvcG1pIGViIGRsdW9ocyBzc2FsQyApaWlpICAgIA==']
for s in list:
    s = s.decode('base64', 'strict')
    print (s[::-1])

または、リスト内包表記を使用します。

list = ['LnNlbHBtYXhlIGVzdSBvdCBlZXJmIGxlZUYgLnNldGlzYmV3IGNpZmZhcnQgaGdpaCBubyBub2l0YXNpbGFtcm9uZWQgZm8gdHBlY25vYyBlaHQgZWJpcmNzZUQgLjQ=', 'ZWxpZiBlbm8gbmkgZWIgdHN1TSApaXYgICAg', 'c25vaXRhY2lmaWNlcHMgOC1QRVAgdGVlbSB0c3VNICl2ICAgIA==', 'Ni4yIG5vaHR5UCBodGl3IGtyb3cgdHN1TSApdmkgICAg', 'c2VsdWRvbSByZWh0byB5YiBlbGJhdHJvcG1pIGViIGRsdW9ocyBzc2FsQyApaWlpICAgIA==']
print "\n".join(s.decode('base64')[::-1] for s in list)

出力:

4. Describe the concept of denormalisation on high traffic websites. Feel free to use examples.
    vi) Must be in one file
    v) Must meet PEP-8 specifications
    iv) Must work with Python 2.6
    iii) Class should be importable by other modules
于 2012-12-13T17:33:23.000 に答える