【发布时间】:2010-10-22 15:23:24
【问题描述】:
所以我的问题很简单,我想。我需要解码 Base64 直到没有 Base64,如果有一些 Base64,我用 RegEx 检查,但我不知道如何解码,直到没有 Base64。
在这个短代码中,我可以解码 Base64 直到没有 Base64,因为我的 Text 已定义。 (直到 Base64 Decode Stuff 不是“Hello World”解码)
# Import Libraries
from base64 import *
import re
# Text & Base64 String
strText = "Hello World"
strEncode = "VmxSQ2ExWXlUWGxUYTJoUVVqSlNXRlJYY0hOT1ZteHlXa1pLVVZWWE9EbERaejA5Q2c9PQo=".encode("utf-8")
# Decode
objRgx = re.search('^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$', strEncode.decode("utf-8"))
strDecode = b64decode(objRgx.group(0).encode("utf-8"))
print(strDecode.decode("utf-8"))
while strDecode != strText.encode("utf-8"):
strDecode = b64decode(strDecode)
print(strDecode.decode("utf-8"))
有没有人知道如何解码 Base64 直到有真实文本(不再是 base64)
P。 S. 抱歉我的英语不好。
【问题讨论】:
-
你的意思是你不一定知道base 64数据在哪里结束,对吧? “Du meinst, dass man nicht unbedingt wissen, wo die Basis 64 Daten enden, nicht wahr? Es tut mir leid für mein schlechtes Deutsch。”
-
如果这是您的问题,我会感到困惑,因为 base64 数据有一个停止字符“=”。请参阅:en.wikipedia.org/wiki/Base64“Ist das Ihre Frage, finde ich es verwirrend, weil base64 Daten hat ein Stoppzeichen, '='。”
标签: python regex base64 decode encode