请帮忙,因为这个翻转程序是我正在进行的噩梦!在
我有几个文件包含一些base64编码的字符串。 示例文件的一部分内容如下:
charset=utf-8;base64,I2JhY2tydW5uZXJfUV81c3R7aGVpZ2h0OjkzcHg7fWJhY2tydW5uZXJfUV81c3R7ZGlzcGxheTpibG9jayFpbXBvcnRhbnQ7fQ=="
它们的格式总是“ANYTHINGbase64,STRING” 它是html,但我将其视为一个大字符串,并在别处使用BeautifulGroup。我使用一个正则表达式'base'来提取base64字符串,然后使用base64模块按照我定义的函数“debase”对其进行解码。在
这似乎在某种程度上是可行的:b64encode的输出出于某种原因添加了不必要的东西:
后盾{高度:93px;}后援{显示:阻止!重要的是,用绳子把东西放在中间。在
我猜这意味着以字节为单位;所以我试着让我的函数将其编码为utf8,但基本上我做不到。在
我想要的最终结果是我的html中的所有“base64,STRING”都被解码并替换为DECODEDSTRING。在
请帮忙!在
^{pr2}$
您的输入格式有点奇怪(例如,后面有一个不匹配的单引号),因此请确保您没有做不必要的工作或以奇怪的方式解析内容。在
不管怎样,假设你的输入是给定的形式,你必须像刚才那样用base64解码,然后用给定的编码解码得到一个字符串而不是bytestring:
现在两个结果是
^{pr2}$如您所见,字节的内容已经是可读的,这是因为内容是ASCII。还要注意,我没有从字符串中删除尾随的引号:
base64
足够聪明,可以忽略内容中两个等式符号后面的内容。在简而言之,字符串是python3中文本的一种抽象表示,如果您想用一个由1和0组成的流来表示文本(当您将数据从一个地方传输到另一个地方时,您需要一个特定的编码)。当你得到一个以字节为单位的字符串时,你必须知道它是如何编码的,以便对它进行解码并获得一个合适的字符串。如果字符串与ASCII兼容,那么编码就相当简单,但是一旦出现更多的通用字符,如果使用了错误的编码,代码就会中断。在
相关问题 更多 >
编程相关推荐