使用循环解码base64图像

卡尔

我有数量未知的使用base64编码的图像。它们的格式如下:

image0 = “”“\ iVBORw0KGgoAAAANSUhEUgAAABcAAAATCAIAAAD02QHhAAAAB3RJTUUH3gMEFjA2JHVG0AAAAe5JREFUeJztUzGr6jAYTZoWVAQRKTooOIja0SK4da6DkyCIi39AN531DzgKIoroLoiDk3ZWB3UoCiIqFDq5OBRKaXKHXOLjPnn3Xd76zpYvyTnfd3ICCSHgn8G9rf6UmieEQAgJIRjjFzfHUS4I4RdeWqRX2C78syzTYEsqgDH + lYvHGHMc93g8DoeD1 + t1HMc0Tb / fr6oqlWJHKY7HYyKREAThswsIAQCc67qEEF3Xd7tdo9GYTqeWZWUyGYQQFaD6EELbtjVNq1ar2 + 12u90 + Hg82KS8IAiFEURRFUfb7fbvdDgQCAIDZbHY + nwVBqNVqk8lkvV63Wq3RaBSNRk + nk23bsVjs5R3G2HVd13Xv93upVHIcx3Gc + XzebDY1TSsUCoSQdDrd7XYJIeVyebVakd / AQwhp59frNRKJ8DwPAFgsFj6f73a79Xq94XBYr9eXy6Xf7z + fz7IsY4xt2 / Z4PMyal + GbzSYej1PucDj8fD4lSer3 + 8FgMJVK6bqeTCaz2Wyn0xmPx9RN5i5qtVo0IJZlybIsiiIAIJfLGYZhmmalUkEIDQaDfD6vqqokSZfLpVgshkIh9nDf54X6ZxiGKIpshC + B / GShJZpdllrXdQEACCHWNj2JMUYI / Sy77DJr / I 2 + Z / kbvP / T / 1K + AL7rRN + R / gD6AAAAAElFTkSuQmCC“”“

image1 =“”“\iVBORw0KGgoAAAANSUhEUgAAABcAAAATCAIAAAD02QHhAAAAB3RJTUUH3gMEFjE42tZalgAAAoRJREFUeJyNUz1PKlEQnbl3YzTYEBshodpGo62hIdgaExsLKiojP4DChD9AI50 / wGggsSAhivEnYAKJ0kEAjRUaCODKx25C9t6xGFzfU3nPKe7encycPXPmLBIRAPDpuu7V1dV4PAYApZRlWQcHB36 / HwC01oiIiESEiLVajYg2NjYAAAAEPxjFtm2t9cPDQzabDQQCe3t7fr9 / PB4Ph0MhBCJalmXb9u3tbSKRuLi4uLy8LJfLRGTMwIQAgOXl5VgsNplMQqHQ7u4uAJRKpfv7 + 2azeXh4aJrm9vZ2oVAYDoeIGIlEbNv2 + XX / cSEirbVS6u7uzjRNpdRgMMhkMtFotNPprKys5HI5RDRNs9VqhcPhnZ2d / f39zc1NRJyhICIAGIYhpXx9fV1bW5NSPj4 + DgaDRqORTqcrlcrq6urW1tbR0VGpVFpfXweATqejtSaiGQrTQcR2u + 04TjAY1FqHQqGFhQUiur6 + Ho1Gi4uLhmFMp9NkMnl2dnZ8fNzr9Vj42Sw8jta63 ++ zYK7rElGz2cxms41Gg4hSqVQ6na5Wq0RULBbr9ToRKaWICHk7X4J58ckZ13UNw3AcZ2lpyct7l08Ur1NrLaXkV6UU79grYON49mFNP3XxUlJKvhCRlHIymdzc3Dw9Pf3ZLKVkdO4SMCdY / F6vd3Jywn5pt9sM / UM1zQlGeXt76 / f7RBSPx5 + fn9lQ34uNeVyYqs / nk1Ken59Ho9FAIOC6Ls / 7JeZOBABKKSllrVYDgEQiwTJ5W / S / ChtBCJHP51Op1HQ6PT09dRwHPv7b33Jh / bvdbiQSEUK8vLxYljUPZY7mH4x + 5P89flaXodl13mc8Xb9D / 4vL76m9A4fr1aGVlymDAAAAAElFTkSuQmCC“”“

image2 =“”“\iVBORw0KGgoAAAANSUhEUgAAABcAAAATCAIAAAD02QHhAAAAB3RJTUUH3gMEFjE42tZalgAAAoJJREFUeJyVUj1La0EQndm9 + BUJhqRQIdVtDIZ0wUa0ExFsLPwBYho7i0D + QArjfxAhgtiIH5U / IIKCRkEiSUxpccHchBhvINydsdiw5uUl8t4pdmeHnbNnzg4yMwDo1ff9y8vLdrsNAEqpZrO5s7MTCoUAgIgQERGZGRFLpRIzLy4uAgAACL1pFs / ziOjt7S2fz8 / NzW1uboZCoXa73Wq1hBCI2Gw2Pc + 7vb1NpVKnp6cXFxd3d3fMbPXIhACA6enp7e3tr6 + vaDS6sbEBAIVC4fHxsVKp7O7u2ra9urp6fn7earUQcXl52fO8QCDwhxZmJiKl1MPDg23bSinXdQ8PD1dWVhzHCYfDJycniGjbdrVaXVpaWl9f39raisfjiNhjQUQAsCxLStloNBYWFqSUtVrNdd1yuZzNZu / v72dnZ5PJZDqdLhQKsVgMABzHISJm7rFoOYj4 / v7e6XTm5 + eJKBqNjo2NMfP19fXn5 + fExIRlWd1ud39 /// j4OJfLfXx8aON7veh2iKher2vDfN9n5kqlks /重新+ UyM2cymWw2WywWmfnq6ur19ZWZlVLMjPp3BqB16VVnfN + 3LKvT6UxOTpq8CX5YTCURSSn10YyJuaAz / fkfd43BiCil1IEu8zzv5uamVCr1F0sp9QTpKgEjoEUBQK1Wcxxnb2 / v6elJE / 192RrFoh9k5kQikUgknp + fx8fHjeQB / KZFKUVEZ2dnyWQyEonEYjHd0fDbo6Anqtvtuq67trZWrVbN1w5gZEdEJIR4eXkJBoONRmNqampmZmaoKb / 5Ypo6OjoSQhwcHEQikVEdDZ86w9JfM3D8Jy1mxvQziCiEMPF / aDF0Qyv78Q28N9fZLnpYLAAAAABJRU5ErkJggg ==“”

我可以使用以下方法成功解码它们:

    imageToShow = base64.b64decode(image0)
    stream1 = cStringIO.StringIO(imageToShow)
    bmp1 = wx.ImageFromStream(stream1)
    self.image_spot0.SetBitmap(wx.BitmapFromImage(bmp1))

    imageToShow = base64.b64decode(image1)
    stream1 = cStringIO.StringIO(imageToShow)
    bmp1 = wx.ImageFromStream(stream1)
    self.image_spot1.SetBitmap(wx.BitmapFromImage(bmp1))

    imageToShow = base64.b64decode(image2)
    stream1 = cStringIO.StringIO(imageToShow)
    bmp1 = wx.ImageFromStream(stream1)
    self.image_spot2.SetBitmap(wx.BitmapFromImage(bmp1))

由于可能有3、100、300或为什么没有5000编码的图像,我希望能够使用循环来处理解码。

当我尝试使用以下代码时:

    image_group = ['image0', 'image1', 'image2']
    for img in image_group:
        imageToShow = base64.b64decode(img)

我收到填充错误,我假设数据没有传递给base64.b64decode(),仅传递给了实际的字符串“ image0”。任何帮助,将不胜感激。

西里尔

您将具有相同值的变量名字符串文字混合在一起。

解决方案是书面形式:

image_group = ['image0', 'image1', 'image2']

您甚至可以通过组合如下声明来减少它:

image_group = [
    "iVBORw0KGgoAAAANSUhEUgAAA...",
    "iVBORw0KGgoAAAANSUhEUgAAA...",
    "iVBORw0KGgoAAAANSUhEUgAAA..."
]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章