Найти - Пользователи
Полная версия: Требуется считать из файла бинарное значение (двоичное число)
Начало » Python для экспертов » Требуется считать из файла бинарное значение (двоичное число)
1
FoxPython
Какая функция, процедура, модуль помогут это сделать?
Вдобавок, считав бинарное значение, нужно будет иметь возможность перевести его в питоновскую переменную числового типа. Также нужно и обратное действие: число перевести в бинарное значение и записать его в файл.

Помню старинный basic-sinclair, там для ввода бинарных значений использовалась функция BIN. А каков аналог в питоне? Если функция не встроенная, подскажите хотя бы в каком модуле копать.

—————————————————————-
Спрошу заодно ещё об одном.
Никак не получается выдать в окошко IDLE текст в кодировке 866.
print var_text.decode('866','1251') не помогает.
Striver
А что такое “бинарное значение”? Сразу возникает вопрос, какая программа создала этот файл, в каком формате, и .т.д. Если это, например, wav-файл, то нужна библиотека обработки звука.
Если же формат какой-то нестандартный, но известный тебе, считай файл в строку, и обрабатывай её вручную побайтово (один символ - один байт).

——————————————-
О “ещё одном” желательно в отдельной теме спрашивать.

decode конвертирует в Unicode, encode - обратно.

print var_text.decode('cp866').encode('cp1251')
j2a
FoxPython
Вдобавок, считав бинарное значение, нужно будет иметь возможность перевести его в питоновскую переменную числового типа. Также нужно и обратное действие: число перевести в бинарное значение и записать его в файл.
http://docs.python.org/lib/module-struct.html

p.s. для работы с dbf уже есть модули
poltergeist
Ещё могу посоветовать http://docs.python.org/lib/module-array.html , если нужно читать много бинарных данных из файла, только есть один косяк (а скорее это фича) - на 64-х битных системах длина стандартных целочисленных типов данных увеличивается вдвое, так что надо делать проверку в коде и использовать соответствующий формат.
FoxPython
Striver
decode конвертирует в Unicode, encode - обратно.
Понятно, а я думал, что можно сразу между любыми кодировками конвертировать.

Striver
О “ещё одном” желательно в отдельной теме спрашивать.
Показалось, что вопрос слишком маленький для отдельной темы.

ВСЕМ. Большое спасибо.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB