loonypy
ну если ты все-таки решил все делать вручную (без помощи сторонних решений) - то да, примерно так.
Помеха
Нет, сначала научусь через сторонние инструменты, потом вручную. Если вручную, то алгоритм приблизительно такой: получить формат файла; открыть файл; прочитать в какой кодовой странице сохранен; перейти к началу данных; читать (по байту\двум - в зависимости от кодировки), выполняя свои проверки; читать либо до нужного текста, либо до конца файла (описан либо в служебной информации, либо спец.символом вроде eof)?
По поводу сторонних инструментов (не игровой софт): пока не решил, что взять, AIR или pyQT, т.к. обоих не знаю и оба интересны.
loonypy
ну.. скорее всего сначала надо открыть файл, и по содержимому уже определять формат и кодировку.
Вручную обычно это делают в целях самообразования. Сторонние компоненты для того и созданы, чтоб самому весь этот геморрой не писать.
По поводу софта ничего не посоветую - с питоном дела не имел :(
loonypy
Мне это напоминает присказку: "Дядь Вань, фильм уже готов, осталось только его снять".
>Кроме xml в голову ничего не приходит.
xml толкают всюду, куда не лень.
Помеха
> скорее всего сначала надо открыть файл, и по содержимому уже определять формат
> и кодировку.
Я думал во всех форматах должно быть служебное поле, в котором записана кодировка: utf8, unicode и т.п. Как же тогда определять кодировку?
stopkin
> Мне это напоминает присказку: "Дядь Вань, фильм уже готов, осталось только его снять".
Так и есть: нечто, похожее на ТЗ уже готово, осталось только его реализовать:)
loonypy
например, xml-файлы обычно начинаются так:
<?xml version="1.0" encoding="UTF-8"?>
Помеха
с xml понятно, тут все в тексте хранится, а не в двоичной форме.
loonypy
Хочешь сказать, что бинарные данные могут быть в разной кодировке?
>Я думал во всех форматах должно быть служебное поле
есть такое поле в текстовых файлах в т.ч. и в xml (опционально)
называется Byte order mark (BOM)
http://en.wikipedia.org/wiki/Byte_order_mark
uce
ок, спасибо.
Тема в архиве.