Permet de dire que j'ai une valeur binaire: et veulent le convertir en base64 p> faire Alors, si quelqu'un pourrait-il me diriger dans la bonne direction pour la conversion de nombres binaires à BASE64 NUMÉROS? Merci! p> = d p> p> base64.b64decode (0B100) code> me dit que cela s'attend à une chaîne, pas d'int .... Maintenant, je ne veux pas travailler avec des chaînes. P>
3 Réponses :
Selon la manière dont vous représentez la valeur 0B100 CODE>
>>> import struct
>>> val = 0b100
>>> print struct.pack('I', val).encode('base64')
BAAAAA==
Ce n'est peut-être pas ce que le questionneur est après. Cela convertira le binaire en décimal, puis la base 64 encoder la représentation décimale. Si vous voulez simplement convertir le numéro en base 64, c'est un peu différent.
Hm? Je suis base64-codant pour la représentation binaire de celui-ci, comme il l'a demandé. (Je lui ai initialement répondu de manière incorrecte en lisant la lecture de sa question, mais je leur ai fixé depuis)
De retour de base64? Utilisez encoded_string.decode ("base64 ') code>, puis taillez cette chaîne à l'aide de la structure
Déballez code>.
Quelle est la taille de votre valeur binaire? Si cela peut s'adapter à un seul octet, vous pouvez utiliser chr code>.
>>> (0b0).__class__
<type 'int'>
Eh bien, cela pourrait être n'importe où de 8 bits à 512 bits. = \
Les littéraux binaires sont juste des entiers python normaux.
>>> bin(int(s.decode('base64'))) <<< '0b100'
Voulez-vous vraiment convertir en numéros RADIX-64 I> ou BASE-64 coding? La conversion en numéros RADIX-64 est un calcul mathématique trivial (dans n'importe quelle langue).
Je me demandais simplement si Python a quelque chose de super facile à utiliser.