简体   繁体   English

如何将 Base64 文件转换为字节?

[英]How to convert a Base64 file to bytes?

I am trying to pass a base64 to bytes.我正在尝试将 base64 传递给字节。 But I think I'm doing it wrong because I'm passing it to ascii.但我认为我做错了,因为我将它传递给了 ascii。 The file is much bigger but I didn't want to put it all.该文件要大得多,但我不想全部放入。 I hope you can support me.我希望你能支持我。

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)

you can find the following here:你可以在这里找到以下内容:

import base64

base64_message = 'UHl0aG9uIGlzIGZ1bg=='
base64_bytes = base64_message.encode('ascii')
message_bytes = base64.b64decode(base64_bytes)
message = message_bytes.decode('ascii')

print(message)

Source: https://stackabuse.com/encoding-and-decoding-base64-strings-in-python/来源: https://stackabuse.com/encoding-and-decoding-base64-strings-in-python/

just two line could solve this problem:只需两行就可以解决这个问题:

import base64
base64_code = "VER30QHI30JFOIAIO3020085723F"  # this is just a example
 
img_data = base64_code.encode()
content = base64.b64decode(img_data)

with open('/path/to/your/image.jpg', 'wb') as fw:
    fw.write(content)
print(content)

then you could check the image bytes.然后你可以检查图像字节。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM