2014-02-25 3 views
0

Я пытаюсь преобразовать строку с кодировкой base64 в свою двоичную форму. В принципе «cw ==» должен возвращать 01100110000. Я пробовал различные модули, но не могу найти подходящего. У кого-нибудь есть идеи?Преобразование закодированной строки base64 в двоичный код

спасибо! J

+0

возможно дубликат [Преобразование строки в двоичный в питоне] (http://stackoverflow.com/questions/18815820/convert-string-to-binary-in-python) – isedev

+1

' "" .join (» {0: 08b} ". Format (ord (c)) для c в decodestring (" cw == "))' [base64.decodestring] – mshsayem

+0

['bin (int (binascii.hexlify (base64.decodestring (" cw = = ")), 16))'] (http://stackoverflow.com/q/7396849/4279) – jfs

ответ

1

Вы должны сначала расшифровать вашу строку

from base64 import decodestring 

Затем вы можете использовать format(ord(x), "b") для получения двоичного представления.

my_string = "cw==" 
print "".join(format(ord(x), "b") for x in decodestring(my_string)) 
>> '1110011' 
+0

(ord (x), «b») не будет печатать ведущие 0s, что означает, что «AAA» декодирует до 000, а не 000000000000000000000000. См. комментарий пользователя mshsayem's (https: //stackoverflow.com/questions/22010277/convert-a-base64-encoded-string-to-binary#comment33362342_22010277) для лучшего решения. – Crashthatch

Смежные вопросы