所以我有一个二进制数,001000
即 8
。
如果我执行 base64.b64encode(001000)
我会收到错误消息。
所以我执行 base64.b64encode(b'001000')
并得到 b'MDAxMDAw'
。
但我需要获取原始数字索引中的 base64 字符,001000
或 8,在本例中为 'I'
。或者,如果数字是 011100
(28),则 base64 表中值为 28 的相应字符将是:'d'
。
例如:这里是b64表中的一些值
0 == A,1 == B,2 == C,3 == D,4 == E
所以我想做的是:首先,将二进制数转换为十进制数 (000011 == 3)
。然后将该数字与 base64 表进行比较,您将看到 3
或 000011
等于 'D'
。
有人知道我该怎么做吗?
最佳答案
如果我理解正确,下面应该做你想做的:
base64.b64encode(bytes([0b001000]))
解释:
0b001000
:0b
表示法返回整数 8[0b001000]
:创建一个长度为 1 的数组bytes([0b001000])
:将可迭代对象转换为字节b64encode(bytes([0b001000]))
:将这些字节转换成base64编码
关于Python:二进制到 Base64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65586667/