Страница 1 из 1
Зачем нужны бинарные файлы?
Добавлено: Чт авг 11, 2011 20:25:34
YourBunnyBallOne
Хочу разобраться с бинарными файлами, но разбираюсь в компьютерах слабо. Искал в сети информацию по бинарным файлам - скудно. Так и не нашел ответа на свои вопросы, а что нашел, то не понял.
Например, есть сохранения в играх. Если открыть текстовым редактором, то там хаос из букв. Почему нельзя записывать сохранения в виде обычного текстового файла, где на читабельном языке написана, например, позиция игрока, кол-во патронов и другие параметры?
Есть еще вопросы, позже задам. Подскажите будьте добры.
Re: Зачем нужны бинарные файлы?
Добавлено: Чт авг 11, 2011 21:32:33
YS
Почему нельзя записывать сохранения в виде обычного текстового файла, где на читабельном языке написана, например, позиция игрока, кол-во патронов и другие параметры?
Ну, во-первых, потому, что не все можно записать читабельно. А, во вторых, для таких вещей первоочередной задачей является удобство работы с этими данными из целевой программы. Может быть удобно, например, просто писать в файл структуру. Или массив в сыром виде, чтобы потом быстро загрузить.
Re: Зачем нужны бинарные файлы?
Добавлено: Чт авг 11, 2011 21:33:37
YS
Искал в сети информацию по бинарным файлам - скудно.
Потому, что бинарник содержит сырую информацию, и общих стандартов на него нет. Все зависит от пишущей программы.
Re: Зачем нужны бинарные файлы?
Добавлено: Чт авг 11, 2011 22:27:34
YourBunnyBallOne
Спасибо, понятно объясняешь.
А если открыть .exe-файл и скопировать часть абракадабро-текста, и вставить его еще раз рядом, то получится, что алгоритм исполняемого файла изменится?
Например, открыть специльной программой для редактирования бинарных файлов и скопировать и продублировать рядом по тексту ту часть абракадабры, в которой содержится инструкция процессору "вывести на экран текст 'хелло ворд'", то запуская экзешник он выведет на экран 2 раза текст, вместо одного?
Re: Зачем нужны бинарные файлы?
Добавлено: Чт авг 11, 2011 22:39:55
Света
Всё зависит от программы. Чаще всего, программа замкнута внутри себя и если нет перехода, то второй раз не выведет "Hello World"
Re: Зачем нужны бинарные файлы?
Добавлено: Чт авг 11, 2011 22:41:28
YS
содержится инструкция процессору "вывести на экран текст 'хелло ворд'", то запуская экзешник он выведет на экран 2 раза текст, вместо одного?
Не все так просто. Дело в том, что exe-файл, кроме, собственно, инструкций, содержит еще кучу данных для системы о том, как его загружать, какие функции ему нужны, в каком режиме он работает, и т.д. Потому тупое копирование скорее всего нарушит его структуру и он просто вылетит с ошибкой.
Re: Зачем нужны бинарные файлы?
Добавлено: Чт авг 11, 2011 22:42:05
Kotische
YourBunnyBallOne писал(а):открыть специльной программой для редактирования бинарных файлов и скопировать и продублировать рядом по тексту ту часть абракадабры, в которой содержится инструкция процессору "вывести на экран текст 'хелло ворд'", то запуская экзешник он выведет на экран 2 раза текст, вместо одного?
Маловероятно.
Скорее всё повиснет и раскорячится.
А под виндами файл просто не запустится, т.к. операционная система обнаружит нарушение структуры файла и просто не станет его запускать.
Re: Зачем нужны бинарные файлы?
Добавлено: Пт авг 12, 2011 15:36:24
faddistr
YourBunnyBallOne писал(а):Спасибо, понятно объясняешь.
А если открыть .exe-файл и скопировать часть абракадабро-текста, и вставить его еще раз рядом, то получится, что алгоритм исполняемого файла изменится?
Например, открыть специльной программой для редактирования бинарных файлов и скопировать и продублировать рядом по тексту ту часть абракадабры, в которой содержится инструкция процессору "вывести на экран текст 'хелло ворд'", то запуская экзешник он выведет на экран 2 раза текст, вместо одного?
Если хотите делать такие вещи, то Вам понадобятся знания кодов процессора х86 и 16ричный(хекс) редактор(фактически та самая специальная программа для редактирования бинарных файлов). А то что Вы видите-это попытка Вашего текстового редактора отобразить эти коды как текст(см. таблица кодов ASCII и других кодировок). А чтобы отобразить всю эту катавасию в виде мнемоник ассемблера(мнемоника-человеческое представление кода процессора)-нужен отладчик(дебаггер). При том учтите что код программы может быть запакован и первыми инструкциями может идти код, который это распаковывает.
Это вкратце, для полного ответа на Ваш вопрос и понимания структуры данных в памяти Вашего компьютера-изучите ассемблер для архитектуры х86.
Re: Зачем нужны бинарные файлы?
Добавлено: Пн авг 15, 2011 20:29:33
Transistor
Позвольте вас спросить а оно вам надо знать для чего бинарные файлы. Просто пользуетесь и незабивайте глупыми вопросами голову. Но все возможно вы будущий компютерщик хотя если и будете, изучите одну из языков программирования и все вопросы такого рода отпадут.
Re: Зачем нужны бинарные файлы?
Добавлено: Пн авг 15, 2011 20:42:20
YS
Просто пользуетесь и незабивайте глупыми вопросами голову.
Вот он, типичный образ мыслей офисного хомячка или секретарши-блондинки.

А мы тут на форуме, созданном для тех, кто все же задает вопросы.

Re: Зачем нужны бинарные файлы?
Добавлено: Пн авг 15, 2011 22:09:39
Transistor
Боюсь что ета тема перорастет в обикновений флуд но всьоже вискажу свое мнение.
Есть вопроси которие нужно задавть, а эсть вопроси которие ненужно. Соотвествено и с ответами.
Нена все вопроси нужно отвичать.
как мне кажится википедия досить хорошо отвечаеть на нашу тему
http://en.wikipedia.org/wiki/Binary_file
П.С. Хорошо мне несложно задать пару сотен глупих вопрос и забить себе глупостями башку.
Я прост видиляю суть вопроса а не лезу в дебри слово сочитаний. к стати а в гуле непробували спрасит.
От пример страних вопросов
http://www.blogdog.ru/archives/338.
Re: Зачем нужны бинарные файлы?
Добавлено: Пн авг 15, 2011 22:16:17
YS
Есть вопроси которие нужно задавть, а эсть вопроси которие ненужно.
Несомненно. Только принадлежность конкретного вопроса к одной из этих категорий каждый определяет сам для себя. То, что Вам кажется не стоящим внимания, для кого-то может быть вопросом жизни.
Хорошо мне несложно задать пару сотен глупих вопрос и забить себе глупостями башку.
Только зачем, если оно Вам не надо?
Кстати, о вопросах. У меня созрел один, и я считаю, что это тот вопрос, который стоит задать.

Собственно, что у Вас с русским языком?

Re: Зачем нужны бинарные файлы?
Добавлено: Пн авг 15, 2011 22:22:10
Transistor
У меня плохо с руским. Я сам не руский.
А поповоду вопросов, всеже нужно исползовать гугла.
Re: Зачем нужны бинарные файлы?
Добавлено: Вт авг 16, 2011 01:08:03
РадиоЛоматель
Нет, не правда. Человек задал вполне нормальный вопрос и на него уже дали ответ. Я тоже долго думал на восходе своей программистской деятельности, во что мне упаковывать настройки для своих программ? Вот он ответ, простой, как валенок. А я поломал голову долго, придумывая разрешение

Re: Зачем нужны бинарные файлы?
Добавлено: Вт авг 16, 2011 19:06:32
YS
во что мне упаковывать настройки для своих программ?
Таки для настроек .ini удобнее, как по мне.

Хотя, когда я в восьмом классе писал арканоид (еще на Паскале), то настройки скидывал именно в бинарник - как раз таки писал туда сырую структуру.
Re: Зачем нужны бинарные файлы?
Добавлено: Вт авг 16, 2011 23:08:29
РадиоЛоматель
Ну в ini принято писать в текстовом формате. Тогда для меня это было сложновато

Кстати, тоже в 8-м классе. Но, кажется, это был терминал для ком-порта.
Re: Зачем нужны бинарные файлы?
Добавлено: Ср авг 17, 2011 22:36:37
YS
Ну в ini принято писать в текстовом формате.
А я читер, я использую готовый класс TIniFile для C++ Builder.
