Pythonでは、Base64エンコードされた画像をバイトに変換するための標準的な方法があります。以下にその手順を示します。

まず、Base64エンコードされた画像データをバイトに変換するための基本的なコードスニペットを見てみましょう。

import base64

def convert():
    base64_message = 'JVBERi0xLjUKJeLjz9MKMSAwIG9iago8PC9DcmVhdG9yKFdyaXRlcikvc2l6ZV9oZWlnaHQoMTI1LjApL01vZERhdGUoRDoyMDIyMDIxNjE5MzQzOS0wNicwMCcpL2xhc3RQYWdlKDEpL0NyZWF0aW9uRGF0ZShEOjIwMjIwMjE2MTkzNDM3LTA2JzAwJykvc3BhY2VfYm94KDIwLjApL2Nvb3JkaW5hdGVzUGFnZSg1NC4wLTU5Ny4wLTIsKS9Qcm9kdWNlcihMaWJyZU9mZmljZSA2LjQ7IG1vZGlmaWVkIHVzaW5nIGlUZXh0riA1LjUuOCCpMjAwMC0yMDE1IGlUZXh0IEdyb3VwIE5WIFwoQUdQTC12ZXJzaW9uXCkpL0F1dGhvcihGR0RSKS9zaXplX3dpZHRoKDIyNS4wKS9UaXRsZShQQUdBUkUpL3BkZkFQSU1hbmlwdWxhdGVkKDEpPj4KZW5kb2JqCjIgMCBvYmoKPDwvR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9JIHRydWUvQ1MvRGV2aWNlUkdCPj4vQ29udGVudHMgMyAwIFIvVHlwZS9QYWdlL1Jlc291cmNlcyA0IDAgUi9QYXJlbnQgNSAwIFIvTWVkaWFCb3hbMCAwIDYxMiA3OTJdPj4KZW5kb2JqCjMgMCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAzMTUwPj5zdHJlYW0KeJzVW0uLJLkRvvevyPNC1SpCj0xBk1Bd3W28t7EbfDA+2V7D4rGZvezft0KhR0gpZfWAfTADXZVZUigUjy8e0qgrLL89fVvUoq4Kt8UBXP0Ky+r589e/P/3ph+VfT+rq/KZ0GLVtDtfwuYZHv/z6j6cwY1s2uCq72DBL20WvV7Bh6vLzD09flm/LRYVV4h8XB68er1hIf4tvnSUe6CfmxS5//fr04++/muX138uXSOZ/xmMkHf6FgS8fT5u9umW129UvH39bfnyHBdTVLh8///lZwX7BZ4V7+KOV2SF9t/sF1LNy+18+fnp6+3j60pEE9GHzgia2NDXR0UzzEoja9Oni33Vfn9XW0L5qtMaHT6vstoVPVOtm0mqo42qo81ra8Uo+scwfN/Uy43eFq1mcN1d9FMFKXAVet0DuFvl7Uffwj9++7vZZvan3KWUkK3A+qOMgCE8iuBNrr4EuBLm+kVzD83t4CSpIGoB+Ho55pTEYlgdNSgLaI1hiir8yfzQV1jSFpkKeBfRSF3qwxal+N/lrJMvLRII30vw9vFQrzZpsmJUhdixlSdIK+wpCjMsHTsIqtvIOyrIRqI2EsObBLkiqmcd/zYwJrcmmx2I/SOMF7izpVh6v0ej5t7eodw3vUSS3+BuqhlL4RCgij9pSVVtB5CRSFuxtZyXwNpvJUemI5WsUP+p2aOCYR8C51Vl7XY/bj/vy+8la+jltcL+sLq66hiezb88Y7QujOqIs+IXSaOJLNOG1y2+jT+MaFIxh48GuSJbpNxseLiuL2+nkC7dEtI4O48Ir59txDBZYvwa/dGvmlAzF6fIE7EviVdZQNCybdIM+/AZ5HfaeIuYLaDyxeaN1K29ozI2dC7MFe95QWMFFr8r+5eOYl8QuOQQb3xS1LKxhkZGaadWPX4ZzMESLiWlE+9JeeMSpeRmYmhdr3rFOI607e9PRgZJajKmaCt/plY0O46JgzDPeEgZYkyckfysIhRG8KhoKlyIdWltWKto1yXuNP4O0NURWuV9o9kuk4h4jlMVvrMq3nXVuWNsWotMYnZ8wcoY8mh+C4IwtvwNtGQkYzVpIxJ1l10XxHEb2i0e7IrbIQ+zWEhZGFx1TZ/EXdvnV/dwMcA1Q24uFGWKrZ6xOOH8Bz2xgwNpk4WiEzdMvioOAN0KcBKb5pc0bi4='
    base64_bytes = base64_message.encode('ascii')
    message_bytes = base64.b64decode(base64_bytes)
    message = message_bytes.decode('ascii')
    print(message)

このコードは、Base64エンコードされたメッセージをASCIIにエンコードし、その後、Base64でデコードします。最後に、結果をASCIIでデコードしています。

しかし、この方法はBase64エンコードされた画像データを扱う場合には適していません。なぜなら、画像データはバイナリデータであり、ASCII文字列にデコードすることはできないからです。

その代わりに、Base64エンコードされた画像データをバイナリファイルとして保存することが推奨されています。

with open('xxx.pdf', 'wb') as f:
    f.write(message_bytes)

さらに、Base64エンコードされたデータがファイルに保存されている場合、コマンドラインからデコードすることも可能です。

python -m base64 -d xxx.b64 > xxx.pdf

以上がPythonでBase64エンコードされた画像をバイトに変換する基本的な方法です。この情報がPythonでの画像処理に役立つことを願っています。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です