Распакуйте BinaryString, отправленный из JavaScript FileReader API в Python - PullRequest
1 голос
/ 18 октября 2010

Я пытаюсь распаковать двоичную строку, отправленную с помощью метода readAsBinaryString Javascript FileReader в моем приложении на Python Кажется, я мог бы использовать модуль struct для этого. Я не уверен, что предоставить в качестве формата для распаковки точно.

Может ли кто-нибудь подтвердить, что это правильный подход, и если да, то какой формат мне следует указать?

Согласно документации JS:

Результат будет содержать данные файла в виде двоичной строки. Каждый байт представлен целым числом в диапазоне [0..255].

1 Ответ

3 голосов
/ 18 октября 2010

Звучит так, как будто у вас просто обычная строка (или bytes объект в Python 3), поэтому я не уверен, что вам нужно распаковать.

Одним из способов доступа к байтовым данным является использование bytearray; это позволяет легко индексировать байтовые данные:

>>> your_data = b'\x00\x12abc'
>>> b = bytearray(your_data)
>>> b[0]
0
>>> b[1]
18

Если у вас это в виде строки и вы не хотите использовать bytearray (который требует Python 2.6 или новее), тогда используйте ord для преобразования символа в целое число.

>>> ord(your_data[1])
18

Если ваши двоичные данные имеют определенную интерпретацию в терминах групп байтов, представляющих целые числа или числа с плавающей точкой с определенным порядком байтов, тогда модуль struct, безусловно, ваш друг, но он вам не нужен просто для изучения байтовых данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...