【发布时间】:2012-12-01 12:06:06
【问题描述】:
我正在解码下面给出的以 base64 格式编码的反向多行字符串。
LnNlbHBtYXhlIGVzdSBvdCBlZXJmIGxlZUYgLnNldGlzYmV3IGNpZmZhcnQgaGdpaCBubyBub2l0YXNpbGFtcm9uZWQgZm8gdHBlY25vYyBlaHQgZWJpcmNzZUQgLjQ= ZWxpZiBlbm8gbmkgZWIgdHN1TSApaXYgICAg
s = 'ZWxpZiBlbm8gbmkgZWIgdHN1TSApaXYgICAg'
s = s.decode('base64', 'strict')
print s[::-1]
通过上述方法,我得到了正确的字符串,但我必须手动更改字符串。
请帮忙。
【问题讨论】:
-
s.decode('base64')[::-1]到底有什么问题?这是解码这些的唯一方法,真的。 -
@MartijnPieters 如您所见,OP 没有正确执行,您的评论可能应该是一个答案。
-
@InbarRose:您的意思是(无用的)添加
'strict'?这不会破坏解码。我不确定 OP 在问什么,真的。 -
您的示例代码的输出对我来说看起来不错。究竟是什么问题?是不是每次解码字符串都不想写
[::-1]?在这种情况下,您应该编写一个decodeReversedMultiLineString方法并改用它。 -
是多行字符串吗?或者它是一个字符串列表?字符串中有换行符吗?做
[l.decode('base64')[::-1] for l in s.splitlines()]有多难?