FoxPython
Дек. 21, 2007 05:10:32
Какая функция, процедура, модуль помогут это сделать?
Вдобавок, считав бинарное значение, нужно будет иметь возможность перевести его в питоновскую переменную числового типа. Также нужно и обратное действие: число перевести в бинарное значение и записать его в файл.
Помню старинный basic-sinclair, там для ввода бинарных значений использовалась функция BIN. А каков аналог в питоне? Если функция не встроенная, подскажите хотя бы в каком модуле копать.
—————————————————————-
Спрошу заодно ещё об одном.
Никак не получается выдать в окошко IDLE текст в кодировке 866.
print var_text.decode('866','1251') не помогает.
Striver
Дек. 21, 2007 07:20:07
А что такое “бинарное значение”? Сразу возникает вопрос, какая программа создала этот файл, в каком формате, и .т.д. Если это, например, wav-файл, то нужна библиотека обработки звука.
Если же формат какой-то нестандартный, но известный тебе, считай файл в строку, и обрабатывай её вручную побайтово (один символ - один байт).
——————————————-
О “ещё одном” желательно в отдельной теме спрашивать.
decode конвертирует в Unicode, encode - обратно.
print var_text.decode('cp866').encode('cp1251')
j2a
Дек. 21, 2007 08:00:27
FoxPython
Вдобавок, считав бинарное значение, нужно будет иметь возможность перевести его в питоновскую переменную числового типа. Также нужно и обратное действие: число перевести в бинарное значение и записать его в файл.
http://docs.python.org/lib/module-struct.htmlp.s. для работы с dbf уже есть модули
poltergeist
Дек. 21, 2007 09:54:41
Ещё могу посоветовать
http://docs.python.org/lib/module-array.html , если нужно читать много бинарных данных из файла, только есть один косяк (а скорее это фича) - на 64-х битных системах длина стандартных целочисленных типов данных увеличивается вдвое, так что надо делать проверку в коде и использовать соответствующий формат.
FoxPython
Дек. 21, 2007 12:48:45
Striver
decode конвертирует в Unicode, encode - обратно.
Понятно, а я думал, что можно сразу между любыми кодировками конвертировать.
Striver
О “ещё одном” желательно в отдельной теме спрашивать.
Показалось, что вопрос слишком маленький для отдельной темы.
ВСЕМ. Большое спасибо.