Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 21, 2007 05:10:32

FoxPython
От:
Зарегистрирован: 2007-09-15
Сообщения: 71
Репутация: +  0  -
Профиль   Отправить e-mail  

Требуется считать из файла бинарное значение (двоичное число)

Какая функция, процедура, модуль помогут это сделать?
Вдобавок, считав бинарное значение, нужно будет иметь возможность перевести его в питоновскую переменную числового типа. Также нужно и обратное действие: число перевести в бинарное значение и записать его в файл.

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

—————————————————————-
Спрошу заодно ещё об одном.
Никак не получается выдать в окошко IDLE текст в кодировке 866.
print var_text.decode('866','1251') не помогает.



Офлайн

#2 Дек. 21, 2007 07:20:07

Striver
От:
Зарегистрирован: 2006-10-26
Сообщения: 247
Репутация: +  22  -
Профиль   Отправить e-mail  

Требуется считать из файла бинарное значение (двоичное число)

А что такое “бинарное значение”? Сразу возникает вопрос, какая программа создала этот файл, в каком формате, и .т.д. Если это, например, wav-файл, то нужна библиотека обработки звука.
Если же формат какой-то нестандартный, но известный тебе, считай файл в строку, и обрабатывай её вручную побайтово (один символ - один байт).

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

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

print var_text.decode('cp866').encode('cp1251')



Офлайн

#3 Дек. 21, 2007 08:00:27

j2a
От:
Зарегистрирован: 2006-06-29
Сообщения: 869
Репутация: +  1  -
Профиль   Отправить e-mail  

Требуется считать из файла бинарное значение (двоичное число)

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

p.s. для работы с dbf уже есть модули



Отредактировано (Дек. 21, 2007 08:03:34)

Офлайн

#4 Дек. 21, 2007 09:54:41

poltergeist
От:
Зарегистрирован: 2007-02-28
Сообщения: 522
Репутация: +  0  -
Профиль   Отправить e-mail  

Требуется считать из файла бинарное значение (двоичное число)

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



Офлайн

#5 Дек. 21, 2007 12:48:45

FoxPython
От:
Зарегистрирован: 2007-09-15
Сообщения: 71
Репутация: +  0  -
Профиль   Отправить e-mail  

Требуется считать из файла бинарное значение (двоичное число)

Striver
decode конвертирует в Unicode, encode - обратно.
Понятно, а я думал, что можно сразу между любыми кодировками конвертировать.

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

ВСЕМ. Большое спасибо.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version