Python:如何从二进制转换为base 64并返回?

Nul*_*uli 7 python binary base64

假设我有一些二进制值:

0b100
Run Code Online (Sandbox Code Playgroud)

并希望将其转换为base64

base64.b64decode(0b100)告诉我它期待一个字符串,而不是一个int ....现在,我不想使用字符串.

那么,有人能指出我将二进制数转换为base64数的正确方向吗?谢谢!

= d

yan*_*yan 6

取决于您如何表示值 0b100

>>> import struct
>>> val = 0b100
>>> print struct.pack('I', val).encode('base64')
BAAAAA==
Run Code Online (Sandbox Code Playgroud)

这会将您的值转换为本机字节序的4字节整数,并将该值编码为base64.您需要指定数据的宽度,因为base64实际上是用于表示可打印字符中的二进制数据.

您通常可以通过struct的函数将数据编码为字符串,然后编码为base64.确保在解码时使用相同的数据布局和字节顺序.