Проблема при загрузке двоичных данных на Python

Я работаю над проектом Python, который шифрует что-то на основе Vigenere Cipher. Я разрабатываю вариант, позволяющий шифровать файлы на основе их двоичного кода. Но на самом деле, когда я открываю двоичный файл файла через:

 fbi=list(open(route, "rb"))

Я получаю странные данные, подобные приведенным ниже, вместо «0» и «1», что я и ожидаю получить.

    , b'\xcc\x0b\x92\x80*\xb1^v\x1c\x9c\x83\
xc1\xc0\x07\x82k\x93\xf0\xaf\xc1=\x13O\xd1\xaft\xedf\xde\xde\xfbR\xb8\xb0Ey\xa4\
xc3,-\xce6d\x0f\xbaG\x07\x1f\x95y\xd8\xf89\xe2{K\xabi/\xfcL-<!\x15\xe0vYo\xe4\x1
6\xd1\xfe\xf3;\x8cE\xf6\x03\x9es\x8e\xa4\xf3\xde\xbe\xba\xf0\xd5\xb5\x9e\x99\xa0
Me\xa6O\r\xcd\x82X\xa7\x91*\x10VPP\x9d\xc0\x8e\x0ez\xf0k\xaf\x82U?\xd8\xce\xd8$\
xc4B\x86\xfe\x1f\x99GJ\x86Dh\xe2vgbD\xc3\x1cu\xc4\xa7\xa7\xb75\x81~6}\xb4:\xa3~\
xe4e\t\xc1]\xae\xc3\xfc=\xab\xf3\x93\xe3E\xcc\xa7\xe2[\x9bx"\xc9\xfd\xd3\x97Q!\x
c6\xd4\xe4\x0c\x11\xc0\x19\xce\x7f\xc6\xbc,\xbe\xcf9\xd8\xb4N\x14\xf9\x8c\xc4\xb
0\x1f/%H\x075\x11Y6/\xee\xf7+\x96\x11\xaeJ+\x8c\x0eO\x1c\x1e=?\\R\xc4\xc8\'w\x8d
\xd1`a\xcb\xe39\xe7\x91\x83\x9c\x0e\x9c\x8cS\xe3\x92O\xde\x12\xf1\xf2\xa0J?\xb8\
xbc\xe3\r\x8fZ\xb4\x92\x01t\x8b\xbc:\xe02\x86^\xab\xc6\xe6<p\xdf\xa5X\xb7Vkfo\x9
9\x98\x11\x8c\x9c\x96\xeaNO\xa0\xe7\xbf5\xdf|=i\xdf\xe2\xdf\x86Q\x03+\x9dN\xdcmR
B\xaedN\x9f\xec\xe4\xe7\xf3\xf7\xaf\xd8\xcf\n'

Я все еще новичок в Python, и на самом деле это первый раз, когда я пытаюсь манипулировать/редактировать двоичный файл, поэтому мне, вероятно, еще многое предстоит узнать.

Может ли кто-нибудь объяснить мне, почему я получаю это? И как получить 0 и 1, если это возможно? Заранее спасибо,

Полный код можно найти здесь: http://pastebin.com/0W8iK3kh#.


person Eastkap    schedule 14.05.2015    source источник
comment
Вы видите эквивалент строки ASCII. Для символов, отличных от ASCII, python отображает шестнадцатеричный \x.   -  person Gadi    schedule 14.05.2015
comment
rb означает чтение байтов, а не битов. Просто преобразуйте каждый байт в битовую форму.   -  person Łukasz Rogalski    schedule 14.05.2015
comment
и как я могу преобразовать эти шестнадцатеричные числа в биты?   -  person Eastkap    schedule 14.05.2015
comment
возможный дубликат преобразования байтов в биты в python   -  person Łukasz Rogalski    schedule 14.05.2015
comment
Итак, признав, что это дает мне шестнадцатеричные числа, как мне интерпретировать «\ xb1 ^ v»?   -  person Eastkap    schedule 16.05.2015