No Python, a notação de representação binária 0b
é apenas outra maneira de gravar inteiros. Portanto, não há diferença, por exemplo, entre 0b11
e 0b0011
- ambos representam o inteiro 3
.
Além disso, a codificação base64 é projetada para dados de entrada em grupos de 8 bits. A codificação é projetada para que o decodificador possa determinar exatamente o número de bytes que foram usados nos dados originais. No entanto, essa granularidade se estende apenas a grupos de 8 bits e não se estende ao nível de bits real.
Uma abordagem pode ser codificar seus dados com o primeiro byte representando o número de bits e, em seguida, os bytes a seguir representando os próprios bits. Seu decodificador pode usar essa informação para extrair o número exato de bits que você armazenou originalmente (com zeros à esquerda ou à direita, se quiser).